title: Okay to implement a .NET event on an IHttpModule?
body: <p>I've declared an event on an HTTP Module so it will poll subscribers for a true/false value to determine if it should go ahead with its task of tweaking the HTTP Response.  If only one subscriber answers true then it runs its logic. </p>
  
  <p>Does this make sense?<br>
  Are there potential pitfalls I'm not seeing? </p>
  
  <pre><code>public class ResponseTweaker : IHttpModule {
  
      // to be a list of subscribers 
      List&lt;Func&lt;HttpApplication, bool&gt;&gt; listRespondants = new List&lt;Func&lt;HttpApplication, bool&gt;&gt;();
  
      // event that stores its subscribers in a collection
      public event Func&lt;HttpApplication, bool&gt; RequestConfirmation {
          add {
              listRespondants.Add(value);
          }
          remove {
              listRespondants.Remove(value);
          }
      }
  
      public void Init(HttpApplication context) {
          if (OnGetAnswer(context)) // poll subscribers ...
              // Conditionally Run Module logic to tweak Response ... 
      }
  
      /* Method that polls subscribers and returns 'true'
       *  if only one of them answers yes.
       */
      bool OnGetAnswer(HttpApplication app) {
          foreach (var respondant in listRespondants)
              if (respondant(app))
                  return true;
          return false;
      }
  
      // etc...
  }
  </code></pre>