Total refactor, introducing ActionResultType