diff --git a/planetstack/observer/event_loop.py b/planetstack/observer/event_loop.py
index f4f7f02..28e78de 100644
--- a/planetstack/observer/event_loop.py
+++ b/planetstack/observer/event_loop.py
@@ -62,6 +62,7 @@
 
     def __init__(self):
         # The Condition object that gets signalled by Feefie events
+        self.step_lookup = {}
         self.load_sync_steps()
         self.event_cond = threading.Condition()
         self.driver = OpenStackDriver()
@@ -95,6 +96,7 @@
 
         provides_dict = {}
         for s in self.sync_steps:
+            self.step_lookup[s.__name__] = s
             for m in s.provides:
                 try:
                     provides_dict[m.__name__].append(s.__name__)
@@ -209,10 +211,11 @@
                 failed_step_objects = []
 
                 for S in self.ordered_steps:
+                    step = self.step_lookup[S]
                     start_time=time.time()
                     
-                    sync_step = S(driver=self.driver)
-                    sync_step.dependencies = self.dependencies[sync_step.name]
+                    sync_step = step(driver=self.driver)
+                    #sync_step.dependencies = self.dependencies[sync_step.name]
                     sync_step.debug_mode = debug_mode
 
                     should_run = False
@@ -224,9 +227,9 @@
                         should_run = True
                     except StepNotReady:
                         logging.info('Step not ready: %s'%sync_step.name)
-                        failed_steps.add(sync_step)
+                        failed_steps.append(sync_step)
                     except:
-                        failed_steps.add(sync_step)
+                        failed_steps.append(sync_step)
 
                     if (should_run):
                         try:
diff --git a/planetstack/observer/openstacksyncstep.py b/planetstack/observer/openstacksyncstep.py
index 3ce3c68..515ff09 100644
--- a/planetstack/observer/openstacksyncstep.py
+++ b/planetstack/observer/openstacksyncstep.py
@@ -3,15 +3,12 @@
 from syncstep import SyncStep
 
 class OpenStackSyncStep:
-	""" PlanetStack Sync step for copying data to OpenStack 
-	""" 
-	
-	def __init__(self, **args):
-		super(SyncStep,self).__init__(**args)
-		return
+    """ PlanetStack Sync step for copying data to OpenStack 
+    """ 
+    
+    def __init__(self, **args):
+        SyncStep.__init__(self, **args)
+        return
 
-	
-
-
-	def __call__(self):
-		return self.call()
+    def __call__(self):
+        return self.call()
