Migrating @markwilson work on navigation builder