Navigation component refactoring