Implementation of a thread pool with help of c++11 futures
Use variadic templates to define abitrary amount of templates for a class

 Every template class provides a function. The execution of this function
 can be toggled at runtime. Thus compile time component configuration plus
 runtime pick of component to execute.