.NET loose coupling of components