package com.coreoz.plume.scheduler;

import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;

import com.coreoz.plume.services.time.TimeProvider;
import com.coreoz.wisp.Scheduler;

@Singleton
public class SchedulerProvider implements Provider<Scheduler> {

	private final Scheduler scheduler;

	@Inject
	public SchedulerProvider(TimeProvider timeProvider) {
		this.scheduler = new Scheduler(
			Scheduler.DEFAULT_THREAD_POOL_SIZE,
			Scheduler.DEFAULT_MINIMUM_DELAY_IN_MILLIS_TO_REPLACE_JOB,
			new PlumeTimeProvider(timeProvider)
		);
	}

	@Override
	public Scheduler get() {
		return scheduler;
	}

}

@@ -205,16 +205,56 @@
 heduler;
+%0Aimport com.coreoz.wisp.SchedulerConfig;
 %0A%0A@Singl
@@ -474,99 +474,48 @@
 uler
-.DEFAULT_THREAD_POOL_SIZE,%0A%09%09%09Scheduler.DEFAULT_MINIMUM_DELAY_IN_MILLIS_TO_REPLACE_JOB,%0A%09%09%09
+Config%0A%09%09%09%09.builder()%0A%09%09%09%09.timeProvider(
 new 
@@ -545,16 +545,30 @@
 rovider)
+)%0A%09%09%09%09.build()
 %0A%09%09);%0A%09%7D

Use Wisp new Scheduler instance creation