New object creation and retrieval of cached objects smells like something the DataManager should be doing. We should probably think through the roles and responsibilities of the DI and DM.