I’ve adopted a similar strategy to Tom. I use
functions.php as a bootloader of sorts for all of my theme-specific dependencies. Breaking out things like Custom Post Type/Taxonomy registration from other logic like Walkers has proven to be extremely helpful both when initially building & revisiting projects down the line.
Thanks so much for linking back to this – I really appreciate it!
I like hearing how others are breaking the components of their work, as well.