Dearest Self,

When designing and building a system, don't just treat the base-level objects as black boxes ("as dumb as they can be, but no dumber"), but the modules they roll up into should be black boxes as well. That way, when you get pulled off progress on one of the modules, you can just tie things off and leave them. If they don't support the few places they interact with others, they're not done yet. Also, documentation never hurts.