Move protocol to submodule.