refactored signalr callbacks/UI updates to work as events on thread

not sure if i achieved anything but it took a while