Refactor an uncomfortable return.
Add shell of ConsumeModel.
Fix factories to remove the passing of objects. Force factories to deal with construction.