move scheduler from singleton to service