Component-based development technology C#