Would it make more sense to just have a getDimensions method somewhere that returns the cache info if it exists, and otherwise returns IMAGE_LOADING_*?