Remove DataContainer and inject those dependencies manually
DataContainer from the project and inject all the dependencies it contains manually.
Furthermore, add an
IVirtualControllerContainer interface and an implementation that holds an
IVirtualControllerManager and a
VirtualControllerTypes value. This would make it very simple to track which virtual controller implementation is in use and switch it with another.
Deleting a branch is permanent. It CANNOT be undone. Continue?