Complex Types in current schemas are defined per schema and thus are not reusable. Since the goal is to be able to define elements to handle these complex properties it would be interesting to consider extracting these to "top level" schemas so that we can leverage the view designer to create reusable elements.
One way of doing it could be: as soon as a user defines a complex property, Studio proposes him to extract it as a new schema and ask for a name /prefix (using the name of the initial complex property as a suggestion). Then it is available as property type in the drop down when we configure new properties. Other option could be to have a "custom" property type where we must select the schema bound to it as a property.