@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
   public void onPlayerQuit(PlayerQuitEvent event)
   {
      // cleanup
      if(playersInSM.contains(event.getPlayer().getName()))
      {
         playersInSM.remove(event.getPlayer().getName());
      }

      if(playersInGracePeriod.containsKey(event.getPlayer().getName()))
      {
         playersInGracePeriod.remove(event.getPlayer().getName());
      }

      if(playersOnWarmup.containsKey(event.getPlayer().getName()))
      {
         playersOnWarmup.remove(event.getPlayer().getName());
      }
   }