remoteCalendarConnector = $remoteCalendarConnector; $this->calendarRangeRepository = $calendarRangeRepository; $this->userRepository = $userRepository; } public function __invoke(CalendarRemovedMessage $message) { if (null !== $message->getAssociatedCalendarRangeId()) { $associatedRange = $this->calendarRangeRepository->find($message->getAssociatedCalendarRangeId()); } else { $associatedRange = null; } $this->remoteCalendarConnector->removeCalendar( $message->getRemoteId(), $message->getRemoteAttributes(), $this->userRepository->find($message->getCalendarUserId()), $associatedRange ); } }