Add Interface

Create an interface for the When library's public API, ready for version 2.0.0
Update WhenInterface