interface Callback<INPUT>
INPUT - should be same as input of Rule
whenInvalid | 
 This function must be invoked when Rule.isValid returns false. abstract fun whenInvalid(input: INPUT): Unit | 
invoke | 
operator fun <T> invoke(block: (input: T) -> Unit): Callback<T> |