Using interfaces makes easier to change between implementations
Refactoring Groovy benchmark main method