LPS-51784 Create BaseTestRule to define proper callbacks
LPS-51784 Use BaseTestRule as base class whenever possible
LPS-51784 Statement wrapper rules can not use BaseTestRule, but they should able to protect themselves from being wrongly used.