[LibGDX] Who abstracts from Screen interface?

Topic title might be a bit vague but I am basically asking this:

If you had a GameScreen, should not have to state what this Screen does…do you abstract away from this as much as possible and only run update/proccessing code in their?

Like for small games I put the camera and spritebatch and all that in there but if creating a larger game it seems smarter to “abstract” as much of the code away as possible into what could basically be classed as a Game Engine.

How many of you do this?