public MovingSystem(IEntitesProvider ep)
     : base(new HashSet <Type> {
     typeof(Velocity), typeof(Position)
 }, ep)
 {
     // here do some moving system initialisation
 }
 public DrawingSystem(IEntitesProvider ep)
     : base(new HashSet <Type> {
     typeof(Dispalyable), typeof(Position)
 }, ep)
 {
     // here do some graphic system initialisation
 }
 public SystemBase(HashSet <Type> set, IEntitesProvider ep)
     : this(set)
 {
     ep.OnEntityAdded   += this.OnEntityAdded;
     ep.OnEntityRemoved += this.OnEntityRemoved;
 }