title: Trigger filter on POCO property
body: <p>I'm trying to create a multi step process handled by a QueueTrigger per Step.  How can I filter on the 'state' property of a QueueMessage object without having a Queue per state?
  Msg is of type:</p>
  
  <pre><code>public partial class TaskType{
      string BlobPathToProcess {get; set;}
      int State {get; set;}
  }
  
  
   public static void Task(
       [QueueTrigger(queueName: "taskq")] TaskType msg
       TextWriter log,
       IBinder binder)
  {
       //currently I use a switch statement on (TaskType.State == 1)
  </code></pre>
  
  <p>So not:</p>
  
  <pre><code>[QueueTrigger(queueName: "taskqstate1")] TaskType msg
  
  [QueueTrigger(queueName: "taskqstate2")] TaskType msg
  </code></pre>
  
  <p>etc.</p>
  
  <p>Maybe like <a href="https://stackoverflow.com/users/439326/pranav-rastogi">@pranav-rastogi</a> says about the <a href="https://github.com/Azure/azure-webjobs-sdk/blob/b1fb20b0edf0530d62127d6dd9f50cc9345ca7b6/src/Microsoft.Azure.WebJobs/SingletonAttribute.cs" rel="nofollow noreferrer">Singleton attribute</a> on <a href="https://channel9.msdn.com/Shows/Cloud+Cover/Episode-183-Azure-WebJobs-Update-with-Pranav-Rastogi" rel="nofollow noreferrer">MSDN Ch9 cloud cover at min 24</a></p>
  
  <pre><code>[Singleton(@"{Region}\{Zone}"]
  public static void Task([QueueTrigger(singleto-test")] WorkItem workItem, ...
  </code></pre>
  
  <p>Where {Region} and {Zone} are properties from the 'workItem' object.</p>
  
  <p>More like:</p>
  
  <pre><code>[PocoFilter(PocoProperty="{State}", PocoValue="1"]
  public static void Task1([QueueTrigger(queueName: "taskq")] TaskType msg ...
  
  [PocoFilter(PocoProperty="{State}", PocoValue="2"]
  public static void Task2([QueueTrigger(queueName: "taskq")] TaskType msg ...
  </code></pre>