Capistrano Deploy Sequence

During my last code reading of Capistrano, I traced the deploy recipe to find out what other recipes it uses. Since overriding and hooking into these recipes are used when you customize your application deploy, I wanted to document them here so I can find it again.

deploy
|-- deploy:update
|---- deploy:update_code
|------ Code update based on the :deploy_via
|------ deploy:finalize_update
|---- deploy:symlink
|-- deploy:restart

All of these recipes come from lib/capistrano/recipes/deploy.rb.