Upload observing instead of intercepting

#247