It would be nice to be able to inject a time varying current into any standard cell in a simulator-independent way. This could be done in two ways:
(1) Create a new standard cell, CurrentSource, and extend connect(), Projection to allow non-synaptic connections
(2) Create an Electrode class, then either
(a) allow the i_offset parameter of each standard cell to be an Electrode object rather than a float.
(b) create an inject() function in the low-level API and/or an inject() method for the ID object.
I don't much like (1), since it does not fit with the general principle of spike-based communication, although if we allow gap-junction connections in future, it would fit better.
Concerning (2), if we add RC-circuit properties to the Electrode class, it could also be used to extend record_v().
(2b) would probably be simpler to implement than (2a)