Bind the transfer progress callback
Move callbacks to a builder

Currently there's a rustc bug which causes lots of ICEs if it's not a builder.