Create AbstractLoader and ModelLoader with further refactors
Models now handle expectations for mobile, added some comments, caught some edge cases