Introduced a PaintController module to mediate events to provide proper encapsulation for event handling methods for Component and its subclasses