IMHO I would do an own ClassLibrary project whitch will give back the properties. So you can use the library via xslt and UserControl.
The caching is a good point, but it depends on the usage adn if you want to instantly react on changed properties.
I also wouldn't do a dynamically construction because of typesafety and serialization.
I am using the serialization with my ClientTools, so if you have questions just contact me (th at thoehler dot com)
Cheers,
Thomas
• 2007/2008 MVP •
www.thoehler.com • Bad Homburg, Germany