Models backed by json schema, emitting change events on  modification