This should be a parameterized class instead, otherwise in cases where someone accidentally defines this twice they'll get a vague error.

Just change `define` here to `class` and it'll just work.