Seperate signer from provider in user-facing API
#270
Merged
signer from provider in user-facing API
#270