public function start()
    {

        // load the timeout methods annotated with @Schedule
        foreach ($this->getTimedObjectInvoker()->getTimeoutMethods() as $timeoutMethod) {
            // make sure we've a timeout method
            if ($timeoutMethod instanceof MethodInterface) {
                // load the Doctrine annotation reader
                $annatationReader = new AnnotationReader();

                // create the schedule annotation instance with the loaded data
                $schedule = $annatationReader->getMethodAnnotation($timeoutMethod->toPhpReflectionMethod(), Schedule::class)->toScheduleExpression();

                // create and add a new calendar timer
                $this->createCalendarTimer($schedule, null, true, $timeoutMethod);
            }
        }

        // mark timer service as started
        $this->started = true;
    }