(#1224) - don't mutate options object
(#1224) - Revert "don't mutate options object"

This reverts commit f6889de72fae1fa7d63d44cd39e87213fcf36d1d. I
realized it's a regression and actually broke some tests.
(#848) - add promises
(#1227) - replace selenium with testem
(#1227) - replace selenium with testem