it might be cleaner if the listener just receives the data that changed in the model instead of an event object