Refactored to provide common base class and functionality for Agent and CallCenter events