Added multi threading support for the instance cached an worked around  issues with NSPointerArray -compact.