static initialization in Interface
Factoring out message types and class-specific typedefs for more better include dependencies