D3D9 now works again by using a component model.