A quality of life wish:
Problem: If a 'thing' is in a chain of several base templates, all its inherited properties and services are listed in one long list. As the code base grows, this list can become quite large and time consuming to navigate.
My recommendation: Create a table for each inherited base template with its respective properties and services.
I have added a picture to show how I imagine it. Please note, it is just an example... ignore the names of the properties and the templates.