How To Build Modular WPF Applications With a Plugin Architecture