A draft implementation for #7 (client-side navigation)