protected virtual void cmd(ServerMessage e, string m)
        {
            var    split   = m.Split(" ".ToCharArray(), 2);
            string message = "";

            if (split[0] == "off")
            {
                if (!on)
                {
                    message = command + " was already off.";
                }
                else
                {
                    message = "Understood, shutting off " + command;
                    on      = false;
                    persistState();
                }
            }
            else if (split[0] == "on")
            {
                if (split.Length == 1)
                {
                    if (on)
                    {
                        message = "Already on, did you mean to set a new message?";
                    }
                    else
                    {
                        on      = true;
                        message = "Understood, turning " + command + " on without changing the message.\n\nLast message was:\n" + wmls.RawMessage();
                        persistState();
                    }
                }
                else
                {
                    wmls = new WelcomeMessage(split[1]);
                    if (!on)
                    {
                        message = "Understood, turning " + command + "on.\n\nNew message:\n" + wmls.RawMessage();
                    }
                    else
                    {
                        message = "Understood, changed message of " + command + " to:\n" + wmls.RawMessage();
                    }
                    on = true;
                    persistState();
                }
            }
            else
            {
                message = command + " <on/off> <message>";
            }
            server.safeSendMessage(e.Channel, message);
        }