Router API functionality

This is the precursor (in `develop`) to #562 (in `develop-frontend`).