Refactoring firmware type specific parts into submodules.