decouple controller from a core domain class