Define interface

This adds the definition of the public interface. Comments welcome!

@neithernut 
You actually insert a pointer to a value, not the value itself