I am extending NonFungibleToken to MyNonFungibleToken for example. But I cannot have the corresponding MyNonFungibleTokenContract extend NonFungibleTokenContract because it is final. Does that mean I have to write MyNonFungibleTokenContract from scratch? I guess I can extend AbstractTokenContract just as NonFungibleTokenContract does. Is that the recommended approach?
BTW, FungibleTokenContract is open. I wonder why the disparity.