reworking some structure and naming, more experiments with clearer router

Fix onNavigate bug