For Scalding 0.9, you should probably make this be TypedSource and TypedSink, and implement setter. Also, it would be nice to make it LocalTapSource.

(Looks good otherwise, though. We have nearly this exact class internally at Stripe).