Currently, if you want to add span as a DV to your problem, you add wing.geometry.span whereas if you want to add twist you add wing.twist_cp. These are not consistent and they should be.
Basically, promote up all the other geom DVs like is done for twist.
We may need to figure out a better way to set these up as well, since currently they require an entry in the surface dictionary, as well.