code: func (bt *BaseTask) AdjacentStates() []MachineState {
  	adjacent := []MachineState{}
  	if bt.next != nil {
  		adjacent = append(adjacent, bt.next)
  	}
  	for _, eachCatcher := range bt.Catchers {
  		adjacent = append(adjacent, eachCatcher.next)
  	}
  	return adjacent
  }
docs: // AdjacentStates returns nodes reachable from this node