> // constructRoutingTree constructs routing tree according to provided routes
> // gearbox implements Gearbox interface
> // New creates a new instance of gearbox
It's obvious from the names of the functions WHAT they do. The point of the comments are to tell me WHY they are necessary. The project feels like commenting for the sake of commenting. I honestly don't know why a "routing tree" is necessary and how it's helping.