fixes run_worker to work within the context of the whole gem
adds spawn_worker method
implements status polling and recording