Working on getting the tests to run well. Also, adding in support for side effects.