Now use value instead of name in annotation
Cleaned up a bit
Now supports Money attributes.
Refactored a bit too.
Merge remote-tracking branch 'origin/master'