Move all the operation logic from the internal data store to the operation classes.
Reimplemented the functionality in the new classes.
Fix the tests.