This should follow the examples of the other mixins. `ttl` should, by default, be `None` and `get_ttl` should throw an exception if no `ttl` value is provided.