This is just a reminder post for myself, should I forget it. Currently refactoring the state definition code to use a StringFact object which contains a flexible definition for the fact types found in the state. The reason for this is because Strings are not flexible and the replacement procedure seems kinda slow. Furthermore, I am also refactoring (silly idea really) the module arguments because they are causing problem with the current map look-up system. Once this is all done, I need to ensure all the tests pass and modules are working properly.