Add caching layer for skins
Rebasing
Merge branch 'connor4312-cache'