Add base class for triggers

and test the all triggers adhere to the set contract.

Also standardise the trigger class names to NameTrigger.

This will make it easier to do more triggers in the future and also
add the possibility of loading triggers dynamically.

Co-Authored-By: Gregory Haynes <greg@greghaynes.net>

Change-Id: I283bffad97edb91a6a2258163d4162a15b904757
7 files changed