A little more refactoring
Added .runsOnce() method for single use tasks.