Unrelatedly, I've been thinking recently on how best to explain to a non-programmer what it's like to work on a complex program. Specifically, I'm trying to think of a metaphor or common experience that everyone would understand. Something that comes close is a heavy flywheel, since it takes a significant amount of time and effort to get going, but once it's going, it's easy to keep going. Doesn't really fit with how an interruption can totally wreck your flow state.
There are basically four main qualities I can think of: 1) hard to start, 2) easy to keep going, 3) easy to stop, and 4) reluctance to get started if you don't know if you'll be interrupted.