Rules and rule templates YAML integration

@rlkoshak I think DSL rules can take inputs - they just don’t appear as you’d expect. When you receive the “event object” in JS, it contains keys and values. I suspect that in DSL, the keys and values are directly defined in the context, so that they will work if used as variables. You just kind of have to “know” that they are there.

Regarding #5481, I’d appreciate some clarification regarding ActionService. Should I care about implementing that or not? The commands work just fine without it, but there must be some purpose in implementing ActionService (aka making them “Actions”).