Step driven evaluation

A pattern for writing multi-step programs.

log.Fatal vs log.Panic

tl;dr: avoid os.Exit near deferred calls.