Updated Guava dependency
Renamed a class
Moved Function interface and all its subclasses to top-level types
Updated references