Event system changed to OO implementation