Sorted metrics

I was thinking on approaching this differently. 

Instead of receiving a list of strings as  parameter, and spreading a bunch of "ifs" in the logic, I was thinking on encapsulating the logic that calculates each metric into its own object.

Then we could iterate the list of objects and make each object calculate the metric they know how to calculate.

The decision of what is calculated/collected is pushed from this class to the Controller. 

The Controller, in turn, can register a PropertyEditor to map between a string representation of a metric (i.e "remaining-story-points") to the object that knows how to calculate that metric, and we make the controller receive a list of objects instead of a list of strings. 

The decision of what is calculated/collected is then pushed from the controller to the parameter binding resolution. We just receive the list of objects that know how to calculate a metric, and execute the object. 

If we wanted to get fancy with java 8 features, this "objects" could be just a java.util.function.Function, and the PropertyEditor translates from strings to methods of a class.

This is how I approached, the filters and the partitioners.