static Task Schedule(IMessageSession session, TaskDefinition taskDefinition) { logger.DebugFormat("Task '{0}' (with id {1}) scheduled with timeSpan {2}", taskDefinition.Name, taskDefinition.Id, taskDefinition.Every); var options = new SendOptions(); options.DelayDeliveryWith(taskDefinition.Every); options.RouteToThisEndpoint(); options.Context.GetOrCreate<ScheduleBehavior.State>().TaskDefinition = taskDefinition; var scheduledTask = new ScheduledTask { TaskId = taskDefinition.Id, Name = taskDefinition.Name, Every = taskDefinition.Every }; return session.Send(scheduledTask, options); }