This will be the base component. Other components like splitter, branching, multiplexer etc will be based on this implementation.
The component (process)
* Should have a way to add input ports (may be via constructor?)
* Should have a way to add output ports (may be via constructor?)
* Should have a way to connect to another process's port (process and port must be specified)