The ID class provides a convenient API for modifying individual neurons in a Population.
Although current implementations store arrays of ID objects internally, this is wasteful of memory, so ideally ID objects should be created on the fly when needed.
All of the functionality of ID is also available via PopulationView, I believe (need to check), so there is an argument for removing the ID class entirely to simplify the API.
If we decide to keep it, we could also consider renaming it to something more meaningful, e.g. Cell or Neuron.