Moved dispatcher behavior for the sake of clarity