Massive refactor using Guava