Lots of good advice already.
I read in alot of place that calling something "Manager" is generally bad, because it's too generic and say nothing about what the class really does.
Many (probably even most) games are filled with *Manager classes. It's just a name.
ImageManager could be split into ImageCache and ImageUploader, sure, but those could be called ImageCacheManager and ImageStreamManager. 'Manager' is just a name that has no real meaning on its own. That's the (potential) problem with 'ImageManager' - it could as well have been called 'ImageSystem' or 'ImageEmperor' or 'ImageThingamajig'. Unless you have a clear and well-defined meaning of what 'Manager' means in your code (which you very well might!) then you can end up with *Manager classes filled with too much different stuff.
You can totally follow SRP and still use whatever naming you want. A game might have a BulletManager that isn't doing a bazillion different things but is just ensuring that bullets (which some games can have thousands of on screen at a given time) are efficiently
managed. It might just be glue out to the graphics and physics and game logic systems that makes sure they all stay in sync without needing a full fat game object for each individual little short-lived bullet. Totally reasonable.
Or your ImageManager might just be an aggregate of ImageCache, ImageUploader, and any other Image* classes that manage things.
My point is: don't get stuck on what are honestly utterly irrelevant design decisions like whether you called a class a FooManager or not. What you name your classes does not make a better game. It does not automatically make your code any better or more maintainable. There's good advice to follow regarding the single-responsibility principle, well-documented code, and consistent names, but not a single one of those are at odds with any particular way of naming classes. Beware that you can easily fall into a trap of renaming half your codebase every month (and then never get any useful work done) because some armchair engineer on the Internet wrote a convincing blog post about why you should do something his way instead of some other way.
And again, the others' advice is all good. I just wanted to point out the trap I see you potentially walking into here.