diff --git a/lib/transflow/publisher.rb b/lib/transflow/publisher.rb
index <HASH>..<HASH> 100644
--- a/lib/transflow/publisher.rb
+++ b/lib/transflow/publisher.rb
@@ -30,6 +30,10 @@ module Transflow
           self.class.new(publisher, all_args)
         end
       end
+
+      def subscribe(*args)
+        publisher.subscribe(*args)
+      end
     end
 
     def initialize(name, op)
diff --git a/spec/unit/publisher_spec.rb b/spec/unit/publisher_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/unit/publisher_spec.rb
+++ b/spec/unit/publisher_spec.rb
@@ -24,5 +24,17 @@ RSpec.describe Transflow::Publisher do
         Transflow::Publisher.new(:step, op).curry
       }.to raise_error(/arity is < 0/)
     end
+
+    it 'triggers event listener' do
+      listener = spy(:listener)
+
+      op = -> i, j { i + j }
+      publisher = Transflow::Publisher.new(:step, op).curry
+
+      publisher.subscribe(listener)
+
+      expect(publisher.(1).(2)).to be(3)
+      expect(listener).to have_received(:step_success).with(3)
+    end
   end
 end
Add support for subscribing to a curried publisher