Code format, tighten API, and use generics.
Merge pull request #1 from matttproud/refactor/prometheus/fitness-suitability

Code format, tighten API, and use generics.