* Create meaningful Exception classes. Remove "Error" exceptions * Humanized error messages after Exception work done * Pisi command outputs overhaul * If possible remove context from pisi * autoxml is hairy and not maintainable. If possible replace it with a simpler and faster xml objectifier implementation. * We need to update some state file during the pisi operation to implement a transaction like system. And take some actions after last failure of pisi for some reason. * Messages in log file are not very helpful. Log messages overhaul needed. We need detailed logging. * Tidy pisi.api to satisfy necessary functions * Write a new unit test suite * Refactor code after unit tests are finished. Divide long functions. Rename necessary function and variable names (like A, B_C, D_, C) to understandable ones * Add documentation to all module functions * Performance and memory usage optimizations * Version validator