private void ProgramContextReleased(object sender, ProgramContextEventArgs e)
 {
     var programContext = e.ProgramContext;
     if (programContext != null)
     {
         programContext.ProgramStarted -= ProgramContextProgramStarted;
         programContext.ProgramEnded -= ProgramContextProgramEnded;
         _programContexts.Remove(programContext);
     }
 }
 private void ProgramContextCreated(object sender, ProgramContextEventArgs e)
 {
     var programContext = e.ProgramContext;
     if (programContext != null)
     {
         _programContexts.Add(programContext);
         programContext.ProgramStarted += ProgramContextProgramStarted;
         programContext.ProgramEnded += ProgramContextProgramEnded;
     }
 }