Implement observer (pub/sub), strategy (interchangeable algorithms), and command (encapsulated actions) patterns.
This lesson requires an active subscription.