Separating Concerns and Advising Domain Objects