Drupal 8 introduced services, decoupled objects managed by the services container. These objects are used by drupal core and modules to create reusable functionality and perform operations like accessing the database or sending an e-mail. Knowing how to utilize, alter and create service objects provides developers greater ability to control and extend the behaviour of Drupal. Beyond anything that simple hook functions provide.In this session developers will learn how to leverage dependency injection and the Drupal 8 service container to alter and extend the functionality of Drupal.