public abstract void Remove(Building b);
public abstract void Add(Building b);
public override void Remove(Building b) { buildings.Remove(b); }
public override void Remove(Building b) { throw new NotImplementedException(); }
public override void Add(Building b) { buildings.Add(b); }