Added a few events for different phases.
Added Join() and Leave() method.
Added several more events.
Added channel tracking.