Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/EFGModelGenerator.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/EFGModelGenerator.java	(revision 488)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/EFGModelGenerator.java	(revision 556)
@@ -8,5 +8,7 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
-import de.ugoe.cs.quest.plugin.guitar.eventcore.EFGEvent;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITAREventTarget;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITAREventType;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITARReplayable;
 import de.ugoe.cs.quest.ui.commands.CMDupdateModel;
 import de.ugoe.cs.quest.usageprofiles.DeterministicFiniteAutomaton;
@@ -44,5 +46,5 @@
 		EFG efg = (EFG) IO.readObjFromFile(efgFileName, EFG.class);
 
-		Collection<List<? extends Event<?>>> subsequences = generateEdgeSequences(efg);
+		Collection<List<Event>> subsequences = generateEdgeSequences(efg);
 		FirstOrderMarkovModel model = new FirstOrderMarkovModel(new Random());
 		model.train(subsequences);
@@ -63,5 +65,5 @@
 		EFG efg = (EFG) IO.readObjFromFile(efgFileName, EFG.class);
 
-		Collection<List<? extends Event<?>>> subsequences = generateEdgeSequences(efg);
+		Collection<List<Event>> subsequences = generateEdgeSequences(efg);
 		DeterministicFiniteAutomaton model = new DeterministicFiniteAutomaton(
 				new Random());
@@ -81,6 +83,6 @@
 	 * @return edge sequence set
 	 */
-	private Collection<List<? extends Event<?>>> generateEdgeSequences(EFG efg) {
-		List<Event<?>> events = createEvents(efg);
+	private Collection<List<Event>> generateEdgeSequences(EFG efg) {
+		List<Event> events = createEvents(efg);
 		/*
 		 * getEventGraph returns an adjacency matrix, i.e., a square matrix of
@@ -89,5 +91,5 @@
 		 */
 		EventGraphType efgGraph = efg.getEventGraph();
-		Collection<List<? extends Event<?>>> subsequences = new LinkedList<List<? extends Event<?>>>();
+		Collection<List<Event>> subsequences = new LinkedList<List<Event>>();
 
 		int efgSize = events.size();
@@ -97,5 +99,5 @@
 				// otherEvent is followed by currentEvent
 				if (relation != GUITARConstants.NO_EDGE) {
-					List<Event<?>> edge = new LinkedList<Event<?>>();
+					List<Event> edge = new LinkedList<Event>();
 					edge.add(events.get(row));
 					edge.add(events.get(col));
@@ -116,7 +118,7 @@
 	 * @return list of events
 	 */
-	private List<Event<?>> createEvents(EFG efg) {
+	private List<Event> createEvents(EFG efg) {
 		List<EventType> efgEvents = efg.getEvents().getEvent();
-		List<Event<?>> myEvents = new ArrayList<Event<?>>(efgEvents.size());
+		List<Event> myEvents = new ArrayList<Event>(efgEvents.size());
 		for (EventType event : efgEvents) {
 			/*
@@ -124,7 +126,8 @@
 			 * "interpretation" is found in the GUI file.
 			 */
-			Event<?> myEvent = new EFGEvent(event.getEventId());
-			myEvent.setTarget(event.getWidgetId());
-			myEvents.add(myEvent);
+		    GUITAREventType type = new GUITAREventType(event.getEventId());
+		    GUITAREventTarget target = new GUITAREventTarget(event.getWidgetId());
+		    Event myEvent = new Event(type, target);
+		    myEvent.addReplayable(new GUITARReplayable(event.getEventId()));
 		}
 		return myEvents;
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/GUITARTestCaseParser.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/GUITARTestCaseParser.java	(revision 488)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/GUITARTestCaseParser.java	(revision 556)
@@ -6,5 +6,7 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
-import de.ugoe.cs.quest.plugin.guitar.eventcore.EFGEvent;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITAREventTarget;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITAREventType;
+import de.ugoe.cs.quest.plugin.guitar.eventcore.GUITARReplayable;
 import edu.umd.cs.guitar.model.IO;
 import edu.umd.cs.guitar.model.data.EFG;
@@ -70,13 +72,15 @@
 	 * @return event sequence describing the test case
 	 */
-	public List<Event<?>> parseTestCaseFile(File testcaseFile) {
+	public List<Event> parseTestCaseFile(File testcaseFile) {
 		TestCase testcase = (TestCase) IO.readObjFromFile(
 				testcaseFile.getAbsolutePath(), TestCase.class);
 		List<StepType> steps = testcase.getStep();
-		List<Event<?>> sequence = new LinkedList<Event<?>>();
+		List<Event> sequence = new LinkedList<Event>();
 		for (StepType step : steps) {
 			String eventId = step.getEventId();
-			EFGEvent event = new EFGEvent(eventId);
-			event.setTarget(getWidgetId(eventId));
+			GUITAREventType type = new GUITAREventType(eventId);
+			GUITAREventTarget target = new GUITAREventTarget(getWidgetId(eventId));
+			Event event = new Event(type, target);
+			event.addReplayable(new GUITARReplayable(eventId));
 			sequence.add(event);
 		}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/commands/CMDefgTestCasesToSequences.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/commands/CMDefgTestCasesToSequences.java	(revision 488)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/commands/CMDefgTestCasesToSequences.java	(revision 556)
@@ -53,5 +53,5 @@
 			}
 		});
-		Collection<List<Event<?>>> sequences = new LinkedList<List<Event<?>>>();
+		Collection<List<Event>> sequences = new LinkedList<List<Event>>();
 		GUITARTestCaseParser parser;
 		if (efgFileName == null) {
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/EFGEvent.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/EFGEvent.java	(revision 488)
+++ 	(revision )
@@ -1,34 +1,0 @@
-package de.ugoe.cs.quest.plugin.guitar.eventcore;
-
-import de.ugoe.cs.quest.eventcore.ReplayableEvent;
-
-/**
- * <p>
- * Convenience class for working with EFGEvents.
- * </p>
- * 
- * @author Steffen Herbold
- * @version 1.0
- */
-public class EFGEvent extends ReplayableEvent<EFGReplayable> {
-
-	/**
-	 * <p>
-	 * Id for object serialization.
-	 * </p>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * <p>
-	 * Constructor. Creates a new EFGEvent.
-	 * </p>
-	 * 
-	 * @param eventId
-	 *            EventId of the event in the EFG and GUI files
-	 */
-	public EFGEvent(String eventId) {
-		super(eventId);
-		this.addReplayEvent(new EFGReplayable(eventId));
-	}
-}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/EFGReplayable.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/EFGReplayable.java	(revision 488)
+++ 	(revision )
@@ -1,66 +1,0 @@
-package de.ugoe.cs.quest.plugin.guitar.eventcore;
-
-import de.ugoe.cs.quest.eventcore.IReplayable;
-import de.ugoe.cs.util.StringTools;
-
-/**
- * <p>
- * {@link IReplayable} used to generate test cases for the GUITAR suite.
- * </p>
- * 
- * @author Steffen Herbold
- * @version 1.0
- */
-public class EFGReplayable implements IReplayable {
-
-	/**
-	 * <p>
-	 * EventId in the EFG and GUI files.
-	 * </p>
-	 */
-	String eventId;
-
-	/**
-	 * <p>
-	 * Id for object serialization.
-	 * </p>
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * <p>
-	 * Constructor. Creates a new {@link EFGReplayable}.
-	 * </p>
-	 * 
-	 * @param eventId
-	 */
-	public EFGReplayable(String eventId) {
-		this.eventId = eventId;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.IReplayable#getReplay()
-	 */
-	@Override
-	public String getReplay() {
-		StringBuilder replay = new StringBuilder();
-		replay.append("<Step>" + StringTools.ENDLINE);
-		replay.append("<EventId>" + eventId + "</EventId>" + StringTools.ENDLINE);
-		replay.append("<ReachingStep>false</ReachingStep>" + StringTools.ENDLINE);
-		replay.append("</Step>" + StringTools.ENDLINE);
-		return replay.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.IReplayable#getTarget()
-	 */
-	@Override
-	public String getTarget() {
-		return null; // target indirectly included in replay through the eventId
-	}
-
-}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventTarget.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventTarget.java	(revision 556)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventTarget.java	(revision 556)
@@ -0,0 +1,43 @@
+package de.ugoe.cs.quest.plugin.guitar.eventcore;
+
+import de.ugoe.cs.quest.eventcore.IEventTarget;
+
+/**
+ * 
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Aug 16, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class GUITAREventTarget implements IEventTarget {
+
+    private static final long serialVersionUID = 1L;
+    
+    String widgetId;
+    
+    public GUITAREventTarget(String widgetId) {
+        this.widgetId = widgetId;
+    }
+
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.quest.eventcore.IEventTarget#getPlatform()
+     */
+    @Override
+    public String getPlatform() {
+        // TODO Auto-generated method stub
+        System.out.println("TODO: implement GUITAREventTarget.getPlatform ");
+        return null;
+    }
+    
+    /*
+     * (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return widgetId;
+    }
+
+}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventType.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventType.java	(revision 556)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITAREventType.java	(revision 556)
@@ -0,0 +1,42 @@
+package de.ugoe.cs.quest.plugin.guitar.eventcore;
+
+import de.ugoe.cs.quest.eventcore.IEventType;
+
+/**
+ * 
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Aug 16, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class GUITAREventType implements IEventType {
+
+    /**  */
+    private static final long serialVersionUID = 1L;
+    
+    String guitarEventId;
+    
+    public GUITAREventType(String eventId) {
+        this.guitarEventId = eventId;
+    }
+    
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.quest.eventcore.IEventType#getName()
+     */
+    @Override
+    public String getName() {
+        return "GUITAREventType";
+    }
+    
+    /*
+     * (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return guitarEventId;
+    }
+
+}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITARReplayable.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITARReplayable.java	(revision 556)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/guitar/eventcore/GUITARReplayable.java	(revision 556)
@@ -0,0 +1,56 @@
+package de.ugoe.cs.quest.plugin.guitar.eventcore;
+
+import de.ugoe.cs.quest.eventcore.IReplayable;
+import de.ugoe.cs.util.StringTools;
+
+/**
+ * <p>
+ * {@link IReplayable} used to generate test cases for the GUITAR suite.
+ * </p>
+ * 
+ * @author Steffen Herbold
+ * @version 1.0
+ */
+public class GUITARReplayable implements IReplayable {
+
+	/**
+	 * <p>
+	 * EventId in the EFG and GUI files.
+	 * </p>
+	 */
+	String eventId;
+
+	/**
+	 * <p>
+	 * Id for object serialization.
+	 * </p>
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * <p>
+	 * Constructor. Creates a new {@link GUITARReplayable}.
+	 * </p>
+	 * 
+	 * @param eventId
+	 */
+	public GUITARReplayable(String eventId) {
+		this.eventId = eventId;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see de.ugoe.cs.quest.eventcore.IReplayable#getReplay()
+	 */
+	@Override
+	public String getReplay() {
+		StringBuilder replay = new StringBuilder();
+		replay.append("<Step>" + StringTools.ENDLINE);
+		replay.append("<EventId>" + eventId + "</EventId>" + StringTools.ENDLINE);
+		replay.append("<ReachingStep>false</ReachingStep>" + StringTools.ENDLINE);
+		replay.append("</Step>" + StringTools.ENDLINE);
+		return replay.toString();
+	}
+
+}
