Define interface

This adds the definition of the public interface. Comments welcome!

@neithernut 
Of course, here is documentation missing. I'll add a fix.