Proper structure for team and players nfts game project

Hi everyone, I'm thinking about the structure for a sport game NFT project where:

  • I've two kind of NFTs, one is for the "team" intended as official name, colors, a logo, a city, an arena, championship

  • the other is for the team players, with all their characteristics, skills etc

I'd like that if a user mints a team and then also the players, and then sells the team on the secondary market, all the elements, even the players, would follow the team. Is this possible using approve / transfer functions "forcing" to move not just the team nft but also the players?

Would you formulate two different contracts for these 2 types of nfts, or it needs team and players in the same smart contract and same transaction?

If you have any suggestion about the structure / functions / best practice or references would be very appreciated.

Thank you