||The workflow management systems domain today is completely fragmented. For each purpose various solu- tions with different specializations exist. Even for standardized process languages, many different extensions and engines exist. If new requirements, domains or standards emerge, the engines have to be adopted. In this paper, we want to show how a workflow engine can be designed to support different workflow languages and different domains - an extensible multi-purpose workflow engine. Our approach for this kind of engine is based on a workflow net engine that allows us to support most of the existing workflow languages. To support different tasks of different specifications, we integrated object roles in our engine. This extension of the object-oriented paradigm allows flexible runtime adaptations and extensions. Thus, we are able to add new domain specific functions to our engine at runtime, even if the original process language does not support them.