pub trait StateMachineWrapper: Any {
// Required methods
fn process(
&mut self,
input: DispatchPair,
index: u64,
dpi: Vec2,
area: AbsRect,
extent: AbsRect,
driver: &Weak<Driver>,
) -> Result<SmallVec<[DispatchPair; 1]>>;
fn output_slot(&self, i: usize) -> Result<&Option<Slot>>;
fn input_mask(&self) -> u64;
fn changed(&self) -> bool;
fn set_changed(&mut self, changed: bool);
}