Notes from my general review:
## General
* The heart isn't centred
* Don't show the survey when the beta signup form is visible
* The beta signup form isn't uniquely identified
* **No browser tests**
* **No unit tests**
## QuickSurveys.hooks.php
* No validation
* No class that models an internal/external survey
* No factory that creates the appropriate class from configuration
* More sophisticated hooks can be broken out
## ext.quicksurveys.init/init.js
* Using jQuery to construct a DOM element that might not be necessary
* Rightwards drift
* Generating a token with `mw.user.generateRandomSessionId` when we can simply use '+'
* We hit local storage, which is a synchronous read, before hitting two constants `quicksurvey` rather than `quicksurveys` paramater name
* Undocumented, untested insertion point selection
* [ASSUMPTION] Is the `ext.quicksurveys.views` really that big that it's worth deferring it?
## ext.quicksurveys.views module
* Why can't we just use normal JavaScript class style? Is there a MediaWiki/Wikimedia style for defining JavaScript classes?
* How does VE construct complex layouts? With Mustache?
* The QuickSurvey.widget method is generic when it needn't be -- it's only used for the panels
* The QuickSurvey.log method shouldn't be on a view
* What does a view do?