3.0 router extensions

All method unifications done in #4497 with passing tests plus using `$options` instead of `$merge`.
Oh never mind, I see now the tests are still full of them.