Large refactoring to allow for defensive stats