Finish interface segregation

Resolves #3