Uniswap V2 includes Flash Swaps so I believe that we will see more Flash in the ecosystem before too long. Flash loans/minted tokens/swaps means that assumptions around behavior of whales will no longer apply. (there are a number of Flash posts: https://forum.openzeppelin.com/tag/flash-loan)
@Proteu5 has been building NFTs too. There might be potential to share ideas and lessons learnt.
I think ERC721PresetMinterPauserAutoId is a great place to start. Other than potentially adding functionality to change the base URI (which if you use a domain name you could do by changing where the domain name points to, so don't need to change it in the smart contract), it covers what I have used in the past.
NFTs owning assets is an interesting idea. I recall that @Nick_Mudge was working on EIP-998 and doing experiments with NFTs owning NFTs.