Move resource logic into models and add controller/feature/model specs