Don't use `this->` when it's not needed. Use snake_case for member variables. Initialize the members using a initialization list.
Renamed and cleaned up schemarouter member variables. Removed unused variables.
The schemarouter now uses the router template.