It's called "partitioning the problem". Then you can use a modular approach with the right tool for the right section of the job.
It's analogous to using CSS with HTML: HTML is used to markup the content's function and CSS is used to control how the marked up function is rendered.
Wade.