'Callback handler for resource change that pushes change to RPC.
We always retrieve the latest state and ignore what was in the
payload to ensure that we don\'t get any stale data.'

def handle_event(self, resource, event, trigger, context, *args, **kwargs):

    if self._is_session_semantic_violated(context, resource, event):
        return
    resource_id = self._extract_resource_id(kwargs)
    self._resources_to_push[resource_id] = context.to_dict()
    self._worker_pool.spawn(self.dispatch_events)
