I am currently exploring the potential of Angular 2 as a foundational technology for a flexible administration dashboard, emphasizing the need for extensibility and customization. I envision an environment where external developers can create their own components and seamlessly integrate them into my pre-existing framework without needing access to the underlying source code. This would allow developers to focus solely on developing the necessary resources for their components (.html, .ts/.js files) without being burdened by the complexities of the main application structure. These components could then be served statically through servlets or other means. Is this concept even theoretically possible? Could I establish a "main" app module capable of dynamically importing, declaring, and understanding typescript-based components from a predefined location?