fix(bpmn-model): implement abstract types with abstract classes