Considered better security practice: https://solidity.readthedocs.io/en/develop/security-considerations.html#re-entrancy