Changed the structure of ObservableJobQueue so that there is a single queue and many threads pulling jobs from that queue. Also added logging classes.