complete event dispatcher explanation