Should invoke on dedicated thread pool
Some cleanup