refactored smooth function implementations to use NativaApi instead of NativeApiImpl if possible
refactored smooth functions implementations to not use inner Worker class
renamed ReadFromSmoothDirError -> IllegalReadFromSmoothDirError