A disposable base class and minimal set of interfaces to properly implement an object disposal pattern.