Consistently using mixin and avoiding logic in domain object