There are a few concepts that need to be defined in order to fully understand the dispatcher implementation.