private bool UserQuit(BlackLight.Services.Nodes.IRCUser Source, string command, List<string> arguments)
 {
     //Viable String Options
             //--REASON
             try
             {
                 if (Source != null&& Source is BlackLight.Services.Nodes.Client)
                 {
                     Command cmd = MyIRCd.Commands["QUITRECEIVE"];
                     if (arguments.Count == cmd.parameterCount())
                     {
                         if (events.onQuitEvent != null)
                             events.onQuitEvent(Source.name, arguments[cmd.getParameterIndex("REASON")]);
                         Source.Dispose();
                     }
                     else
                     {
                         SendLogMessage("Services", "Quit", BlackLight.Services.Error.Errors.DEBUG | BlackLight.Services.Error.Errors.ERROR, "Unable to match protocol with message received", "", "", "");
                     }
                     return true;
                 }
                 return false;
             }
             catch (Exception ex)
             {
                 SendLogMessage("Services", "Quit", BlackLight.Services.Error.Errors.ERROR, "Problem parsing", "", ex.Message, ex.StackTrace);
                 return false;
             }
 }