Updated FragmentController to not have its own Fragment.

Doesn't make sense to pass the fragment controller a Fragment in it's constructor since we will be changing this all of the time.
Instead we now have to pass a Fragment object into all of the methods which will then modify them