It makes sense for this to implement a virtualRunnable in this point so handleRun() can take advantages of the virtualRunnable
Class for unit testing this code, which has exposed the first issue in it