I’ve been thinking about how to build up software systems out of stateful components. In past presentations and blog posts I’ve alluded to a standard interface I use for starting and stopping stateful components: (defprotocol Lifecycle (start [this] “Begins operation of this component.”) (stop [this] “Ceases operation of this component.”)) Most of my Clojure programs…