Added use strict. Added weakRef param. Improved event tests