Taking out 'private' from interface (what was doing the inner class cannot be created)
Adding anonymous inner functions for refactorate tests methods
Methods must be only package-visible (interaction must be done with Functions class)
Adding javadoc, cleaning up and fixing comments