I don't think we should address them here. We are talking about the protocols that extensions should follow, not how to design extensions. IMO, this guideline should mainly cover naming conventions, code organization and distribution, and conventions for certain features (such as message translations). Design strategy like this should be addressed in a different guideline in terms of recommendations rather than requirements.