Use (Compound)PathObserver rather than CompoundBinding for replacement bindings

R=arv
BUG=

Review URL: https://codereview.appspot.com/13252043