Refactored the layers. Removed some methods to control data persistence. Updated controllers to use more asynch calls, and be tided to interfaces to track functionality