refactor tile manager as service