Customizing the display of custom post types

This sounds quite a bit like the Advanced Custom Fields flexible content field. Basically it works by letting you setup a number of different templates for how you might want to create/display your page. Then when you are in the editor, you pick which template you want to use. More info here: http://www.advancedcustomfields.com/resources/field-types/flexible-content/