Added channel field to Event.
Moved subscribe method out of Task, and made it a subscribe function. This should prevent certain misuses that I was concerned about.