Recursive getUploadedFiles()
getError(), __set_state()
Unit test
Optimizations