Refactor sharing navDetail through factory