refactor common model aspects into concern