refactor: user promises instead old-fashioned callback method
chore(tests): include sinonjs for unit tests
refactor(tests): migrate all specs to sinonjs
chore(tests): configure sinonjs