Separate with-action-dsl; api fns take sys as arg instead of subsystems