Add uncaught exception handling
Modify API names
Remove unused serial version
Rename AbstractModel to PresentationModel to give a clearer indication
of its purpose. Added read only mode.