Introduce a @Scheduler annotation and make sure work is offloaded to an executor, so exceptions can be caught. Closes #524 See merge request !422