decouple irc protocol parser into its own module.