need to pass in PathObserver for bind()