Missed some cleanup and decided that there was no reason that specifying expiry as a Date should only be relevant to tokens and payloads specified as Strings or that expiry specified as a Unix timestamp (int) should only be relevant to tokens and payloads specified as byte[] so both combinations are now supported.