anchor.diff:  type Module(name:string, title:string, description:string) =
     let configurationName = "module.conf"
     let verbs = WebPartArray()
  -  let orchestrator : Orchestrator<HttpEventArgs> = Orchestrator.create()
  -  let jsonorchestrator : Orchestrator<JsonEventArgs> = Orchestrator.create()
     let isMain = name = Module.ROOT
     let mutable browsable = false
     do
  
positive.code: [<AbstractClass>]
  type DriverModule(name:string, title:string, description:string) =
    inherit Module(name, title, description)
    let orchestrator : Orchestrator<HttpEventArgs> = Orchestrator.create()
    let isMain = name = Module.ROOT
    let mutable browsable = false
    do
      if name = null || 
         (not(isMain) 
  
negative.code:             || name = System.String.Empty)) then
        failwith "Invalid module name"
  
    member this.RegisterHttpEvent (pattern:string, ?filter:WebPart) = 
      let evt = HttpEvent()
      let wp = http_react(pattern, evt)
      let rwp = match filter with Some f -> f >=> wp | None -> wp
      this.Verbs.Add(rwp)
      evt.Publish
    
    member this.SendJsonMessage (data:Json, dest:System.Uri) =
      async {
  