Use abi.encodeCall in place of abi.encodeWithSelector and abi.encodeWithSignature for improved type-checking of parameters
abi.encodeCall
abi.encodeWithSelector
abi.encodeWithSignature