Refactored polling and added observables