Reading through the EIP for ERC 721 I notice that it is required to implement 2 different interfaces. Why is this?
I noticed this portion in the documentation, but I think some clarification is necessary.
We chose Standard Interface Detection (ERC-165) to expose the interfaces that a ERC-721 smart contract supports.
A future EIP may create a global registry of interfaces for contracts. We strongly support such an EIP and it would allow your ERC-721 implementation to implement ERC721Enumerable, ERC721Metadata, or other interfaces by delegating to a separate contract.