Instead of having a lot of event propagation methods, like checkTSevent, draw, keypress, dispose and other (with mostly the same code base), use parametrized event propagator and have custom event handle logic on widget side.
This will reduce memory consumption needed to store pointers for every event propagation handler