injectableFactory = $injectableFactory; } public function createGlobal(): GlobalCalendar { return $this->injectableFactory->create(GlobalCalendar::class); } public function createForUser(User $user): UserCalendar { $binding = BindingContainerBuilder::create() ->bindInstance(User::class, $user) ->build(); return $this->injectableFactory->createWithBinding(UserCalendar::class, $binding); } public function createForTeam(Team $team): TeamCalendar { $binding = BindingContainerBuilder::create() ->bindInstance(Team::class, $team) ->build(); return $this->injectableFactory->createWithBinding(TeamCalendar::class, $binding); } }