Implemented generic ObjectPool