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