pub trait Reporter {
    fn step(&mut self, kind: StepKind, message: &str);

    fn warn(&mut self, message: &str);
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum StepKind {
    Analysis,
    SourceFetch,
    SourcePush,
    OutpostFetch,
    OutpostPush,
    ConfigChange,
    Cleanup,
}
