Pulled out some of the generics in order to be able to generate proxies without the type being known at design time.  If necessary, the generic IThreadSafeProxyFactory call is now invoked dynamically on Build().