Take a more OO approach to handling the d3 data

I think we need it to access the components, as in `delete this.components[connection.id];`