EventSystem simplified, now there are Event and DataEvent<T> classes, both have on(), off() and fire() or fire(T data) methods, see EventTest for details