How much complexity can you hold in your head?

If you were interrupted in the middle of coding, would you be able to pick up where you left off a day later without any inhibitors?

Is your implementation simple enough that, if required, you could rewrite it from scratch in the space of a day?

Productivity benefits are manifold when work is decomposed into modules that can operate separately or together to accomplish tasks.

This is the biggest gain from working within a modular system and playing by its rules.