//public WorkbenchEvent(EType type, Workbench workbench, Manifold manifold, int index, ManifoldEvent manifoldEvent = null){
 public WorkbenchEvent(EType type, Workbench workbench, Sensor sensor, int index, ManifoldEvent manifoldEvent = null)
 {
     this.type      = type;
     this.workbench = workbench;
     //this.manifold = manifold;
     this.sensor        = sensor;
     this.index         = index;
     this.manifoldEvent = manifoldEvent;
 }
 //private void NotifyOfEvent(WorkbenchEvent.EType type, ManifoldEvent manifoldEvent){
 private void NotifyOfEvent(WorkbenchEvent.EType type, ManifoldEvent manifoldEvent)
 {
     if (onWorkbenchEvent != null)
     {
         //var m = manifoldEvent.manifold;
         var m = manifoldEvent.sensor;
         //onWorkbenchEvent(new WorkbenchEvent(type, this, m, sensors.IndexOf(m), manifoldEvent));
     }
 }
 /// <summary>
 /// Called when one of the analyzer's manifolds throws an event.
 /// </summary>
 /// <param name="manifoldEvent">Manifold event.</param>
 private void OnManifoldEvent(ManifoldEvent manifoldEvent)
 {
     NotifyOfAnalyzerEvent(new AnalyzerEvent(manifoldEvent));
 }
 /// <summary>
 /// Creates a new manifold event indicating that the analyzer received a new manifold event.
 /// </summary>
 /// <param name="manifoldEvent">Manifold event.</param>
 public AnalyzerEvent(ManifoldEvent manifoldEvent)
 {
     this.type          = EType.ManifoldEvent;
     this.manifoldEvent = manifoldEvent;
 }
 /// <summary>
 /// Called when a manifold event occurs.
 /// </summary>
 /// <param name="manifoldEvent">Manifold event.</param>
 private void OnManifoldEvent(ManifoldEvent manifoldEvent)
 {
     NotifyOfEvent(WorkbenchEvent.EType.ManifoldEvent, manifoldEvent);
 }