Used a singleton ObjectPool