Removing the interface, it is unnecessary.

I am only providing one implementation, so the rest of the library will be based on the assumption that that implementation will be used. If there is a need to alter the implementation, the provided implementation can be used as the base class.