Split generate stats to smaller functions, introduce a possibility to generate a horizontal or vertical stats table (switch models and approaches/methods)