* add abstract class to trigger based template entities * updates after merge of parent PR * add comments * add tests