Allow protocol to be configurable