Rewritten the TileObserver