Building my own module template

I need to build a lot (dozen or so) of modules sharing the same vardefs and behaviour. Building common vardefs (a couple of one-to-one relationships actually) for those modules is the main reason I would like to build my own module template. Without vardefs needed I could just create an abstract class and inherit from it. Am I right saying that it’s enough to build proper file structure in ‘include/SugarObjects/templates’ directory or there is a need to register new template additionally somewhere else in the core code?

This should get you started. Breaks down the the entire framework.