Testers refactoring

Decomposed testers from their event/hook dispatchers. Makes testers themselves more readable.