diff --git a/lib/ruote/storage/composite_storage.rb b/lib/ruote/storage/composite_storage.rb
index <HASH>..<HASH> 100644
--- a/lib/ruote/storage/composite_storage.rb
+++ b/lib/ruote/storage/composite_storage.rb
@@ -62,16 +62,16 @@ module Ruote
 
       if type == nil
         define_method(method_name) do |*args|
-          storage(args.first['type']).send(method_name, *args)
+          storage_for(args.first['type']).send(method_name, *args)
         end
       elsif type.is_a?(Fixnum)
         define_method(method_name) do |*args|
-          storage(args[type]).send(method_name, *args)
+          storage_for(args[type]).send(method_name, *args)
         end
       else
         type = type.to_s
         define_method(method_name) do |*args|
-          storage(type).send(method_name, *args)
+          storage_for(type).send(method_name, *args)
         end
       end
     end
@@ -102,7 +102,7 @@ module Ruote
     #
     def get_msgs(worker_name='worker')
 
-      sto = storage('msgs')
+      sto = storage_for('msgs')
 
       if sto.method(:get_msgs).arity == 0
         sto.get_msgs
@@ -129,7 +129,7 @@ module Ruote
 
     protected
 
-    def storage(type)
+    def storage_for(type)
 
       @storages[type] || @default_storage
     end
The composite storage didn't actually seem to work in real life - when passed into a Worker, the worker always called 'storage' on it (because respond_to? will return true for protected methods even though it won't dispatch to them) which was failing. I renamed the protected method in the CompositeStorage to storage_for to avoid the conflict.