Workgen uses lots of C style arrays (const char *) while we could use std::string for more flexibility.
There are also different areas where we have empty constructors and destructors, we can use the default keyword in the header instead.
There are other places where C++ features could be used to make the code easier to read. This ticket will try to make those changes.