Note
Performance of Add(IComponentInfo) method implemented here is O(log(N)) which is achieved by cost of memory.
This implementation should be used in scenarios where the number of items may be large and new items are added intensively.