Refactored the SinglePageApp, Query, and Repository. They should all impliment interfaces correctly. Also did some refactoring for seperation of concerns. This made tests flow better and I could make better use of FakeItEasy.