Extracting interfaces

So that you can mock the interface with no implementation yay ioc