New router

Like the `ScalaBusMod` this can be used as a replacement for `RouteMatcher`. It should be more idiomatic to use than the `RouteMatcher`.
Why create a new class? Couldn't you have put them in `FunctionConverters` ?