pub trait Task {
// Required methods
fn execute(&mut self, stop: &mut bool);
fn name(&self) -> &String;
fn input_count(&self) -> usize;
fn output_count(&self) -> usize;
fn input_id(
&self,
ch_id: ReceiverChannelId,
) -> Option<(ChannelId, SenderName)>;
fn input_channel_pos(&self, ch_id: ReceiverChannelId) -> ChannelPosition;
fn output_channel_pos(&self, ch_id: SenderChannelId) -> ChannelPosition;
}