big overhaul of the way stats funcs are represented, cleaner & more composable