While there are a number of techniques, there are four primary approaches: service control, direction control, user control, and behavior control.