refactor(routing): make more field private & final, add return types

@pavelgj could you please review this PR ?

This is mainly adding private & final to make the code easier to work with. Thanks.