To Involve the Customer consider employing a HierarchyOfPrototypes and for an extreme example consider FieldPrototype --RaySchneider.