public virtual AbstractUserTaskBuilder CamundaTaskListenerDelegateExpression(string eventName, string delegateExpression)
        {
            ICamundaTaskListener executionListener = CreateInstance <ICamundaTaskListener>(typeof(ICamundaTaskListener));

            executionListener.CamundaEvent = eventName;
            executionListener.CamundaDelegateExpression = delegateExpression;

            AddExtensionElement(executionListener);

            return(this);
        }
        /// <summary>
        /// Add a class based task listener with specified event name
        /// </summary>
        /// <param name="eventName"> - event names to listen to </param>
        /// <param name="fullQualifiedClassName"> - a string representing a class </param>
        /// <returns> the builder object </returns>
        public virtual AbstractUserTaskBuilder CamundaTaskListenerClass(string eventName, string fullQualifiedClassName)
        {
            ICamundaTaskListener executionListener = CreateInstance <ICamundaTaskListener>(typeof(ICamundaTaskListener));

            executionListener.CamundaEvent = eventName;
            executionListener.CamundaClass = fullQualifiedClassName;

            AddExtensionElement(executionListener);

            return(this);
        }