Updated to use Thread Pool to run in parallel
Stopped getBusTimes() running twice
Updated to obey calls to 'cancel' action

added check for 'this.isCancelled()' in the main loop, to ensure early
termination
tidied comments and added missing logging
Tidied logging

Some debug logging downgraded to verbose
Added some error logging