Model interface abstraction and changes in the core API. Updated
documentation.