Added generict into object pool and factory method implementations