Updated to version 4.4 in the forge for robustness. Given conversations in another thread about saving and restoring values, I changed this to use ruleset functions to parse effect strings and restore them that way rather than storing off the string and replacing later. There could be valid reasons why an effect would change between the time I stored it and restored it.
Let me know if you have any issues!