remove IDisposable and push cleanup into IoC container