Add operator class and tests

This PR depends on #5 before it can be merged.

Also, the tests won't pass until the entity PR is merged.
I assume we may want to know if something was done, like the tests use this to know that something was added. How or what would $this be useful for?