After some discussion we concluded that using thread locals won't help to make the controller more robust on multi threaded environment. So for now we'll just go with fixing the bug I mentioned in the previous comment.