Client side of 2 version strategy

I have considerably modified the structure of the operators and their
handlers. Now the code looks a lot cleaner and simpler. Also deleted a
lot of classes that were artifacts of the previous design. First time
felt good about deleting code :)