person-bryan-helmkamp
blog-post-7-ways-to-decompose-fat-activerecord-models
mvp-vs-mvvm-vs-presentation-model