- Define the interface
- Implement interface with persistent storage
- write unit tests to validate functionality and error cases
- Define the interface
- Implement interface with persistent storage
- write unit tests to validate functionality and error cases