add checkers for splitting responsibilities

This change moves the checking of the criteria from inside the probes into dedicated "Check" classes.