Some refactoring of statistics
Slightly more flexible IValidatable
Removed unused primitives
Revert "Removed unused primitives"

This reverts commit c5b5f3b2d435d01af4ff71cdf76f876bbfd072cb.
Things