Dependency injection for testing
Use better variable name for message origin
Add tests around private message plugins
Update channel list example