Component-based construction