changed Abstract controller etc so it always has a reference to the master controller. Controllers must now be passed a referene to the master controller when they are created as well. This might cause a few errors that are simple to fix.