Finished making the IoC container smarter

Now just need to finish making changes to the systems to advantage of
the changes.