Allow to capture function names/set exception messages "levels" 

And now, something completely different. That's why I started to refactor func error functions, as a usecase. Hopefully this patch gives good framework to actually do consistent exception messages refactor.