As this is a kind of public struct it should be a class to keep consistency, I think.