Return promises instead of deferreds
Rename add method
Remove .promise() since it doesn't uphold the Promise spec
Add support for exported properties, whether singular or collections