Signing functions now return a status code instead of working within the BuildMonad