As another option you can use me metadata class for your model containing metedata attributes like Browsable or DisplayName and then register thar metadata class for your original model using MetadataType attribute and then register an AssociatedMetadataTypeTypeDescriptionProvider as TypeDescriptor for your class.

This method is useful to separate metadata from model.

It's really simple and really useful. All ASP.NET MVC developers are familiar with this approach but Windows Forms Developers usually don't know about such approach. To see a simple example and more description about it take a look at this post: