Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeifc/ITask.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeifc/ITask.java	(revision 1356)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeifc/ITask.java	(revision 1357)
@@ -44,5 +44,14 @@
     /**
      * <p>
-     * returns a human readable description for task. 
+     * returns a human readable type for the task. 
+     * </p>
+     * 
+     * @return as described
+     */
+    public String getType();
+
+    /**
+     * <p>
+     * returns a human readable description for the task. 
      * </p>
      * 
Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/EventTask.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/EventTask.java	(revision 1356)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/EventTask.java	(revision 1357)
@@ -43,5 +43,5 @@
      */
     EventTask(String description) {
-        super.setDescription(description);
+        super(description);
     }
 
Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/MarkingTemporalRelationship.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/MarkingTemporalRelationship.java	(revision 1356)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/MarkingTemporalRelationship.java	(revision 1357)
@@ -46,11 +46,4 @@
     /**
      * <p>
-     * a human readable name for this temporal relationship
-     * </p>
-     */
-    private String relationshipType;
-    
-    /**
-     * <p>
      * initializes this temporal relationship with a human readable name
      * </p>
@@ -59,11 +52,10 @@
      */
     MarkingTemporalRelationship(String relationshipType) {
+        super(relationshipType);
+        
         if ((relationshipType == null) || ("".equals(relationshipType))) {
             throw new IllegalArgumentException
                 ("the relationship type must be something meaningful");
         }
-        
-        this.relationshipType = relationshipType;
-        super.setDescription(this.relationshipType);
     }
 
@@ -101,5 +93,5 @@
         this.markedTask = markedTask;
         
-        super.setDescription(relationshipType + " of " + markedTask);
+        super.setDescription(markedTask.toString());
     }
 
Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/StructuringTemporalRelationship.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/StructuringTemporalRelationship.java	(revision 1356)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/StructuringTemporalRelationship.java	(revision 1357)
@@ -55,10 +55,10 @@
      */
     StructuringTemporalRelationship(String relationshipType) {
+        super(relationshipType);
+        
         if ((relationshipType == null) || ("".equals(relationshipType))) {
             throw new IllegalArgumentException
                 ("the relationship type must be something meaningful");
         }
-        
-        super.setDescription(relationshipType);
     }
 
Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Task.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Task.java	(revision 1356)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/treeimpl/Task.java	(revision 1357)
@@ -54,4 +54,11 @@
      */
     private int id;
+    
+    /**
+     * <p>
+     * a human readable type of the task (used for visualization purposes)
+     * </p>
+     */
+    private String type;
 
     /**
@@ -72,9 +79,18 @@
      * <p>
      * constructs a new task with a new id. The id is generated using the {@link #getNewId()}
-     * methdod
-     * </p>
-     */
-    Task() {
-        id = getNewId();
+     * method
+     * </p>
+     * 
+     * @param type the human readable type of the task
+     * 
+     * @throws IllegalArgumentException in the case the provided type is null
+     */
+    Task(String type) {
+        this.id = getNewId();
+        this.type = type;
+        
+        if (type == null) {
+            throw new IllegalArgumentException("type must not be null");
+        }
     }
 
@@ -101,4 +117,12 @@
     public int getId() {
         return id;
+    }
+
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.autoquest.tasktrees.treeifc.ITask#getType()
+     */
+    @Override
+    public String getType() {
+        return type;
     }
 
@@ -143,5 +167,6 @@
     public synchronized String toString() {
         StringBuffer result = new StringBuffer();
-        result.append("task ");
+        result.append(type);
+        result.append(" #");
         result.append(id);
         
@@ -185,4 +210,15 @@
     /**
      * <p>
+     * internally used to remove an instance from this task
+     * </p>
+     * 
+     * @param instance the instance to be removed from this task
+     */
+    void removeInstance(ITaskInstance instance) {
+        this.instances.remove(instance);
+    }
+
+    /**
+     * <p>
      * internally used to add an instance to this task
      * </p>
