In the web UI we have the concept of runtime IIRC. Could we keep the runtime field with the @class field? This would allow class to be used for serde, but runtime would remain a UI concept regardless of class used for a given runtime. We could also bind classes to runtimes on the client dynamically if someone wanted to implement their own class for a runtime I suppose.