This allows us to create a general purpose head change events manager that can be used for call events and also for state change events.