diff --git a/sieve/rules/actions.py b/sieve/rules/actions.py
index <HASH>..<HASH> 100644
--- a/sieve/rules/actions.py
+++ b/sieve/rules/actions.py
@@ -5,18 +5,6 @@ class SieveActions(object):
         self.actions = []
         self.implicit_keep = implicit_keep
 
-    def __str__(self):
-        return self.actions.__str__
-
-    def __len__(self):
-        return self.actions.__len__()
-
-    def __getitem__(self, key):
-        return self.actions.__getitem__(key)
-
-    def __iter__(self):
-        return self.actions.__iter__()
-
     def append(self, action, action_args=None):
         self.actions.append((action, action_args))
         return self
@@ -24,3 +12,6 @@ class SieveActions(object):
     def cancel_implicit_keep(self):
         self.implicit_keep = False
         return self
+
+    def __getattr__(self, name):
+        return getattr(self.actions, name)
make SieveActions delegate to a list instead of impersonate one