Improve Legibility
Improve Maintainability
Increase Robustness
Make Code More Reusable
Clean up the mess inherent in most 1.0 systems