What is Inversion of Control? How does that relate to dependency injection?

Technical