Custom thread pool implementation that allows registration on task hooks
Use observable thread pool implementation
Implemented getters to return correct values