public abstract void AddInput(InputData data);
 public abstract bool CanUseInput(InputData data);