Rider EAP being noisy about this one now.
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
IssueTemplate
Issue
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.