Add culture parameter to ToString() call to satisfy ReSharper.
IsValid does not take in a token as a parameter.
Add stubbed out CryptoService implementation.  Each method merely returns the string that it was passed untouched.
Register the ICryptoService as a singleton.
Complete the Generate and Validate methods by calling the stubbed out Encrypt and Decrypt methods from ICryptoService.  These will *just work* once the stubbed out methods are actually implemented.  Add customer JSON resolver to handle types with private setters.
Add custom JSON serialization contract resolver to handle types with private setters.