use a propertygrid, and an overly compex system of 2 subclasses to decide which properties to show