Add abstraction that cached tile can be not only texture