Define interface

This adds the definition of the public interface. Comments welcome!

@neithernut 
Yes, so where is the problem? The value is const here, if I'm right... we may discuss this anyway, as @neithernut has some concerns about the constness of the values we store.