making it a decorator may be more flexible in some cases: extending lifecycle methods keeping a reference to the real container, etc...