update observable to support schedulable keypaths