proper encapsulation of model logic into front end portfolio