def next_formatted_pair(self):
      """\
      Returns a :class:`FormattedPair <shorten.store.FormattedPair>` containing 
      attributes `key`, `token`, `formatted_key` and `formatted_token`. 
      Calling this method will always consume a key and token.
      """

      key = self.key_gen.next()
      token = self.token_gen.create_token(key)
      fkey = self.formatter.format_key(key)
      ftoken = self.formatter.format_token(token)

      return FormattedPair(key, token, fkey, ftoken)