I agree with @xabbuh. I don't really understand the trait purpose appart from allowing us to make it `@internal` while `TraceableAdapater` is already released as "public".   Using inheritance and adding the protected `TraceableAdapter::getPool()` method looks a better option to me for this.