Consider this (not uncommon) scenario under ASP.NET 2.0. Your user clicks on a button on your ASP.NET 2.0 Web Page, and the page transforms, revealing a list of Web Parts the user can add to the page.
Creating connectable Web Parts is a good thing for you and your users -- and the default interfaces that come with SharePoint form the architecture you should use to create those Web Parts. In my last ...