Called by the pool when an idle item is retrieved from the pool. Indicates
whether that item is usable, or should be discarded. The pool takes no
further action on a stale item, discards it, and attempts to find or create
Called by the pool when an item is forcibly removed from the pool - for example
when the pool size is reduced. The implementation should perform any cleanup
necessary on the item, such as closing connections etc.