RUBY-596 Operation refactor (WIP)