Excellent series! I highlighted your article series in my article on ERC721 and the NonFungible #TokenStampede that’s coming.
I learned a *ton* of information from reading your series on the implementation you have laid out here. Quick question for you — are there any major differences between your implementation and the one in OpenZeppelin? The biggest change I could detect at first inspection is your scalable MetaData. Is there any chance that modification will be included in OpenZeppelin’s default impl?