Code refactoring
In commit:
Reorganize objects definition. Hide all not visible functions in
closure of function wrapper.
Now only visible for other functions is returned in result object.