ObjectPool class