I didn't originally use weakref, but had to use it because when EnsembleArray deepcopies the neuron class, it recursively deepcopied and took hours to do a simple example. We should definitely avoid deepcopying in general, but regardless I think weakref is the correct thing to do here.