allow workflow policy and callable to be subclassed
diff --git a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
index 1d2c9db..58e445e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
@@ -146,12 +146,16 @@
                 .condition(new ConditionSupplierFromAdjunct());
 
         Set<PollConfig> pollConfigs = MutableSet.of(pc);
-        pollCallable = new WorkflowPollCallable(WorkflowContextType.POLICY, getDisplayName() + " (policy)", config().getBag(), this);
+        pollCallable = newWorkflowPollCallable();
         poller.schedulePoll(this, pollConfigs, pollCallable, new PolicyNoOpPollHandler());
 
         if (!isSuspended()) resume();
     }
 
+    protected WorkflowPollCallable newWorkflowPollCallable() {
+        return new WorkflowPollCallable(WorkflowContextType.POLICY, getDisplayName() + " (policy)", config().getBag(), this);
+    }
+
     @Override
     public void suspend() {
         super.suspend();