code: public function make(string $command, Who $who = null, Context $context = null)
      {
          if (!$this->can($command, $who)) {
              $this->throwTransitionError($command, $who);
          }
  
          $command = $this->subject->getCommandFactory()->create($command, $who, $context);
  
          return $this->run($command);
      }
docs: @param string       $command
  @param Who|null     $who
  @param Context|null $context
  
  @return mixed