Improved our Linker.

The Linker now uses BindingFlags for Activator.CreateInstance,
so we can have private constructors.