Correct IDisposable implementation.
Change private methods to protected scope, to enable inheritance of the class..