Switched everything to depending on interfaces
Starting to mock out classes for testing