code: func (m *Machine) NotifyWatcherState(watcher string, state interface{}) {
  	notification, ok := state.(WatcherStateNotification)
  	if !ok {
  		m.Errorf(watcher, "Could not notify watcher state: state does not implement WatcherStateNotification: %#v", state)
  	}
  
  	for _, n := range m.notifiers {
  		err := n.NotifyWatcherState(watcher, notification)
  		if err != nil {
  			m.Errorf(watcher, "Could not notify watcher state: %s", err)
  		}
  	}
  }
docs: // NotifyWatcherState implements NotificationService