Вы рассматривали аспектно-ориентированное программирование и, возможно, AspectJ ? Здесь здесь и здесь для информации AspectJ / Android.