Refactoring overlays into a common interface
Caching overlays for redrawing.