public function prepareCooking(): callable
    {
        return function (array $workPlan, ChefInterface $chef): RecipeInterface {
            /**
             * @var Recipe $this
             */
            foreach ($this->requiredIngredients as $ingredient) {
                $ingredient->prepare($workPlan, $chef);
            }

            return $this;
        };
    }