My only real concern with this approach is right here where we pass self into this method, so that we can call back in for disposing the Swt resources. The interdependence is difficult to reason about and test.