Take a more OO approach to handling the d3 data

Extra ``|| !sourceComponent``?