The problem here is that moderators can add any number of warning points at their own discretion for a nonstandard violation.
This undermines using standard warnings and warning actions.
A preferred scenario is that you build a set of rules that if they are broken result in a set number of warning points per rule violation. If a certain number accumulate, a warning action happens.
With the custom system, a moderator can define their own violation and any number of points, including crossing the threshold that could incur account limiting or banning.
This would simply be done via a moderator permission. "Can assign custom warnings".