Today, every track gets a look at every MIDI message that is dispatched, whether from external MIDI interfaces or from other tracks. This is fine until you do... basically anything that's not a toy.
Better:
By default, MIDI messages generated by a track's controllers are seen only by that track's instruments.
By default, MIDI messages from external devices are sent to all tracks. Eventually, should be opt-in per channel per track.
A track can be configured to send its MIDI messages to external devices. Eventually, the should be opt-in per controller and channel.
Under no circumstances should one track see another track's MIDI messages (unless this happens via some hackery involving an external hardware device, or perhaps an explicit global MIDI-routing controller that manages it smartly).
Today, every track gets a look at every MIDI message that is dispatched, whether from external MIDI interfaces or from other tracks. This is fine until you do... basically anything that's not a toy.
Better: