Subclassing the MassComposition object to create a Stream object will:
1) keep the MassComposition class pure for non-related use cases (non-network)
2) provide better context - a stream flows from one node to another in a flowsheet.
This will allow removal of the nodes property and other methods from MassComposition
Decided to retain nodes in MassComposition, but make it hidden as _nodes. This allows math operations to still preserve relationships as a convenience.
Subclassing the MassComposition object to create a Stream object will: 1) keep the MassComposition class pure for non-related use cases (non-network) 2) provide better context - a stream flows from one node to another in a flowsheet.
This will allow removal of the nodes property and other methods from MassComposition