I made a similar decision but placed my functional on Tick within derived classes. That was temporal fix.