Make keyframe effects

Seems weird to wrap all the calls to functions that can raise exceptions with `assert.doesNotThrow(function() { .. })`, doesn't the test runner catch exceptions anyway?