big ol' refactoring on how attributes work. Moved the repeated UI into a directive, and there is a separate controller for each attribute.
better karma mode handling for attributes