The lib was created to simplify our routes usages. This is done by matching an uniq code to a route (we never identify a route to its href).
This lib allows us, via bindings, to use path params and query params, and context informations on top of that. context informations are the data you are putting in route definitions, like "is this route public?"
So this lib aims to simplify the maintenance of your routes:
We use uniq route code to identify routes, meaning that if you change related href your code is not impacted
We describe routes as nested components
We allow to put context informations into routes definition
context informations are copied from parent to children and can be overwritten, meaning that you can put a isPublic: false flag on a parent (and only on a parent), and all your children will have this isPublic: false set.