Added Interface for toggle
Stable (hopefully) sln with unit test and mocks