* is there an issue with reentrancy? * should the external contract call be `required` to succeed?
requiredto succeed?