The auto deprecate design pattern should be used in the following cases, when:
- You want to allow or restrict a function call before or after a specified time
- You want to allow or restrict a function call for a specified duration of time
- Auto-expire a contract, which would not allow any function calls after the expiry time