use crate::core::event_engine::{Effect, Event};
pub(crate) trait EffectInvocation {
type Effect: Effect;
type Event: Event;
fn id(&self) -> &str;
fn is_managed(&self) -> bool;
fn is_cancelling(&self) -> bool;
fn cancelling_effect(&self, effect: &Self::Effect) -> bool;
fn is_terminating(&self) -> bool;
}