Expose all attributes via properties so they can be statically introspected

Refs #1424