Generic thread abstraction with thread pool

Yeah... so this is what I have so far, what do you think?