Further test work
Added generic unit of work pattern to the solution, refactored the testing fakes and hooked up new dependency hierarchy