refactoring to decouple module stack from navigator