Attribute expressions

closes #659
My apologies for the confusion.  It's a terrible name.  Maybe we can think of a better one.  `Field`?