new build and 0.8.0 ready
added support for defaults as a function as per backbone