Add alternative way to set `audience`, `type` and `code`
Added header section
Improved decode methods