Some more work on MMChange and MMListeners

Now ModelManagerChange and ModelManagerListeners are completely
independent classes which are constructed by splitting parts of the
ModelManager god class