Move signer choosing logic into service