Subclass from Struct.new

Static analysis tools (i.e. Code Climate) are confused by assigning Structs to constants. Changing to a subclass will let the tools see our classes so that we can be told how terrible they are. ;)

Also, I think it reads a bit better.