some refactoring
introduce AbstractNavBarExtension with processChildren(..) API