Serial Protocol plug-ins are often called 'Protocol Analyzers' and BUS and STATE signals are often called 'Decoders'. Both terms are applied to Custom Plug-ins. We refer to them collectively as 'Signals.'
DigiView takes a different approach. It abstracts the physical channels into 'signals'. A signal can be a boolean (a single channel), a bus (composed of multiple channels), a state (a clocked bus), or any of several serial protocols. You add the signals you are monitoring to the project. For example, if you are monitoring an SPI, an I2C, and an 8 bit state signal, you would add 3 signals.
When you add a signal, a signal-specific editor opens so you can specify the decode parameters (BAUD, clock edge...) and assign channels to each of the signal's functions (clock, data, cs...)
The waveform view shows the decoded signals, rather than a list of channels as raw booleans. This allows you to ignore the individual channels and focus on the decoded values. Each signal type (except BOOL) can be expanded, so you can still see the timing of the underlying BOOLs or BUSes when desirable.
This abstraction carries through to tables, lists, waveforms, exporting, and triggering. For example, if you had an SPI signal called SPI-1, you could specify a trigger on 'falling edge of SPI-1.cs' to trigger when the the channel assigned to SPI-1 signal's 'cs' function goes low. You can reassign which channels are used in each signal at any time, without invalidating triggers or other settings. The previous trigger example would remain valid even if you reassign the 'cs' function to a different channel.