Refactor more logic into AbstractAssetResolver