Configuration classes

The following classes are mostly used during configuration stage. They are responsible for config parsing and instantiation of simulator modules.