Rewrote IRC.cs to use events