public virtual void AddListener(IGCodeListener listener)
 {
     if (this.listener != null)
     {
         throw new Exception("Only one listener supported!");
     }
     this.listener = listener;
 }