This document discusses writing modular and encapsulated Redis code. It introduces the concepts of promises and futures as they relate to Redis pipelines and transactions. Promises schedule Redis operations, returning future objects that can be transformed and bound to variables. This approach separates data access logic from business logic, making the code more readable, maintainable and refactorable compared to do-everything functions.