Total Refactor and adding Mocking with MockBox