How do I set up a section for pages with very flexible content? I'm trying to build a page similar to the index page of buildwithcraft.com. There you have a page with (visual) sections ("A new kind of flexible", "Ready where you are" and so on). Each one has different backgrounds and maybe different layouts as well. Therefore you need a different set of input fields for every such section.

What's the best way to set up a (craft) section that allows you to edit pages like that?
I would use a matrix field with multiple types.