Use constructor when checking for allowed errors in SCRoute

What needs to be remodeled?

SCRoute errorNames

How is the current model not sufficient?

Usage of strings as names of the classes leads to run time errors instead of compile time errors.

Which changes are necessary?

Swap out strings with new (...args: any) => any in errorNames in SCRoute

Do the proposed changes impact current use cases?

All use cases require refactoring.