massive refactor of commands - use fields/props instead of passing parameters around everywhere.
make old ExecuteCommand(User, string, string[]) obsolete.

Use the new ExecuteCommand() method, and the this.Source, this.Channel, and this.Arguments properties.