I also think that NrvProtocol should stay as it was (except from the refactoring changes) and not implement the optimization. When we want it, we should use the NrvLocalOptimizedProtocol directly.