Crafted the base classes to allow a more intuitive way to describe sinks, sources and interactions.  It removes the complexity of the sign convention (or at least concentrates it in two base classes).