Cleanup / change ValidatingAction

Pulls separate ValidatingAction methods into one, adds the possibility to change the default validator.

**Note** Possibly breaks calls to ValidatingAction(???, someBeforeMethod) since this now would need to be  ValidatingAction(???, beforeValidate = someBeforeMethod)