Grouped call-related classes into a subpackage, made a call event type and factory to break dependency on subclasses of callEvent.