Embraced Google's Guava library
Fixed type declaration
Reorganized dependencies