Refactor mod list

Includes #495 but has been rebased onto master. 
Here begins a lot of whitespace changes, but as far as I can tell there are no code changes. Personally I prefer having the property on the same line as the field itself; it's more compact, and my eyes find it easier to move down the right-hand-side of the code to see all the field names, rather than trying to look at every second line for them.

If these are only whitespace changes, can we get them put back as they were before?