Only call the query callback if it exists.
Add internal versioning and a rake task to publish to S3.
Constructor now takes an options hash.