concept ConceptWithChangeListeners > Concept is IHasChangeListeners, ChangeTriggerable { event fireChange; void _onChange :: after { fireChange(); } }