To start with today, I'd like to talk about a way of thinking about your programs that really helped me to scale from single page sketches up to large projects. I've found it helpful to think of my projects as
state machines. We'll take a look at the definition in a moment, but the main thing I want you to take from the idea is that your program now can only exist in a several states, and transform between them.