The entity generator can be useful for setting up relationships between models. The entity generator will create and return the generated model.
Author: Graham Campbell (graham@alt-three.com)
Author: Scott Robertson (scottymeuk@gmail.com)
Author: Michael Bodnarchuk (davert@codeception.com)
Inheritance: implements League\FactoryMuffin\Generators\GeneratorInterface, implements League\FactoryMuffin\Generators\PrefixInterface
 /**
  * Automatically make the generator class we need.
  *
  * @param string|callable                     $kind          The kind of attribute.
  * @param object                              $model         The model instance.
  * @param \League\FactoryMuffin\FactoryMuffin $factoryMuffin The factory muffin instance.
  *
  * @return \League\FactoryMuffin\Generators\GeneratorInterface|null
  */
 public function make($kind, $model, FactoryMuffin $factoryMuffin)
 {
     if (is_callable($kind)) {
         return new CallableGenerator($kind, $model, $factoryMuffin);
     }
     if (is_string($kind) && strpos($kind, EntityGenerator::getPrefix()) === 0) {
         return new EntityGenerator($kind, $model, $factoryMuffin);
     }
     if (is_string($kind) && strpos($kind, FactoryGenerator::getPrefix()) === 0) {
         return new FactoryGenerator($kind, $model, $factoryMuffin);
     }
 }