code: public void handleSignal(Signal signal) {
  
          switch (signal) {
              case publish:
                  signalPublish();
                  break;
              case unpublish:
                  signalUnpublish();
                  break;
              case remove:
                  signalRemove();
                  break;
              case unremove:
                  signalUnremove();
                  break;
              default:
                  break;
          }
          m_handler.update(m_id, this);
      }
docs: Handles a signal which may change the current state.<p>
  
  @param signal the signal