Excellent talk on how to structure Go apps with several different moving parts. The final section is about how to manage lifecycle of these various pieces. Peter came up with a very clever and simple way such that if any piece shuts down, then it starts an orderly shutdown of all the other pieces.