diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java
new file mode 100644
index 000000000..ab6440594
--- /dev/null
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) The Apache Software Foundation. All rights reserved.
+ *
+ * This software is published under the terms of the Apache Software License
+ * version 1.1, a copy of which has been included with this distribution in
+ * the LICENSE file.
+ */
+package org.apache.myrmidon.aspects;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.log.Logger;
+import org.apache.myrmidon.api.Task;
+import org.apache.myrmidon.api.TaskException;
+
+/**
+ * AspectHandler is the interface through which aspects are handled.
+ *
+ * @author Conor MacNeill
+ * @author Peter Donald
+ */
+public abstract class AbstractAspectHandler
+ implements AspectHandler
+{
+ public Configuration preCreate( final Configuration configuration )
+ throws TaskException
+ {
+ return configuration;
+ }
+
+ public void postCreate( final Task task )
+ throws TaskException
+ {
+ }
+
+ public void preLoggable( final Logger logger )
+ throws TaskException
+ {
+ }
+
+ public void preConfigure()
+ throws TaskException
+ {
+ }
+
+ public void preExecute()
+ throws TaskException
+ {
+ }
+
+ public void preDestroy()
+ throws TaskException
+ {
+ }
+
+ public boolean error( final TaskException te )
+ throws TaskException
+ {
+ return false;
+ }
+}
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AspectHandler.java b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AspectHandler.java
new file mode 100644
index 000000000..f3159ab95
--- /dev/null
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AspectHandler.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) The Apache Software Foundation. All rights reserved.
+ *
+ * This software is published under the terms of the Apache Software License
+ * version 1.1, a copy of which has been included with this distribution in
+ * the LICENSE file.
+ */
+package org.apache.myrmidon.aspects;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.log.Logger;
+import org.apache.myrmidon.api.Task;
+import org.apache.myrmidon.api.TaskException;
+
+/**
+ * AspectHandler is the interface through which aspects are handled.
+ *
+ * @author Conor MacNeill
+ * @author Peter Donald
+ */
+public interface AspectHandler
+{
+ Configuration preCreate( Configuration configuration )
+ throws TaskException;
+
+ void postCreate( Task task )
+ throws TaskException;
+
+ void preLoggable( Logger logger )
+ throws TaskException;
+
+ void preConfigure()
+ throws TaskException;
+
+ void preExecute()
+ throws TaskException;
+
+ void preDestroy()
+ throws TaskException;
+
+ boolean error( TaskException te )
+ throws TaskException;
+}