Component-model Framework in C++