Learn how to safely swap dependencies in production without breaking anything using the Branch by Abstraction pattern