closes #456. BREAKING CHANGE - set, update, teardown and animate methods return a promise