diff --git a/lib/workers.js b/lib/workers.js
index <HASH>..<HASH> 100644
--- a/lib/workers.js
+++ b/lib/workers.js
@@ -12,6 +12,7 @@ var inherits = require('inherits');
 
 
 var defaultOptions = {
+  pollingDelay: 0,
   pollingInterval: 1500,
   lockTimeMs: 4000
 };
@@ -44,7 +45,7 @@ function Workers(baseUrl, options) {
 
   var engineApi = new EngineApi(baseUrl);
 
-  var timer = setInterval(poll, options.pollingInterval);
+  var pollingTimer;
 
   var consumerId = options.consumerId || uuid.v4();
 
@@ -144,13 +145,25 @@ function Workers(baseUrl, options) {
   this.poll = poll;
 
   this.destroy = function() {
-    emit('destroy');
+    emit('destroy', consumerId);
 
-    clearInterval(timer);
+    clearInterval(pollingTimer);
   };
 
 
-  emit('start', consumerId);
+  function start() {
+    emit('start', consumerId);
+
+    pollingTimer = setInterval(poll, options.pollingInterval);
+  }
+
+  this.start = start;
+
+  // disable auto-start by setting polling delay to -1
+  if (options.pollingDelay !== -1) {
+    // delay start by pollingDelay + random value
+    setTimeout(start, options.pollingDelay + (options.pollingDelay * Math.random()));
+  }
 }
 
 inherits(Workers, Emitter);
feat(workers): add pollingDelay