Lets say I wanted to write an ERC20 tied to some defi exchange or other that distributes fees to tokenholders, has governance, other bells and whistles, etc
Do all of these features need to be written ahead of time into the initial ERC20 smart contract? Or is the general pattern to implement the basic interface and then write new smart contracts over time to add extra functionality?