Initial support for Date, File, and Boolean attributes. Some refactoring.
wip