public void Reset()
        {
            nowPlaying = null;
            currentMedia = null;
            opResult = null;

            httpRequest = null;
            dataMessageReceived = null;
            dataToSend = null;
            messageBytesReceived = 0;
        }
 /// <summary>
 /// Executes a command with the given parameter string and returns a string return
 /// </summary>
 /// <param name="command">command name string</param>
 /// <param name="param">parameter string</param>
 /// <param name="playlist">now playing playlist, may be null</param>
 /// <param name="result">string</param>
 /// <returns></returns>
 public OpResult Execute(String command, string param, NowPlayingList playlist, MediaItem currentItem)
 {
     command = command.ToLower();
     if (m_commands.ContainsKey(command))
     {
         try
         {
             if (command.Equals("music-cache-status"))
             {
                 OpResult opResult = new OpResult();
                 CacheStatus status = new CacheStatus(this.isCacheBuilding);
                 opResult.StatusCode = OpStatusCode.Json;
                 opResult.ContentText = JsonConvert.SerializeObject(status, Newtonsoft.Json.Formatting.Indented);
                 return opResult;
             }
             else if (m_commands[command] is MusicICommand)
             {
                 //Make sure cache is not being modified before executing any of the music-* commands
                 lock (cacheLock)
                 {
                     return ((MusicICommand)m_commands[command]).Execute(param, playlist, currentItem);
                 }
             }
             else
             {
                 return m_commands[command].Execute(param);
             }
         }
         catch (Exception ex)
         {
             OpResult opResult = new OpResult();
             opResult.StatusCode = OpStatusCode.Exception;
             opResult.StatusText = ex.Message;
             opResult.AppendFormat(ex.Message);
             return opResult;
         }
     }
     else
     {
         return new OpResult(OpStatusCode.BadRequest);
     }
 }