using pattern from http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/ to wrap code for use in node.js or a browser.
incrementing version