Using classes to abstract behavior