Change API to take context as part of options

issue #2610, issue #2697

- get rid of the .call on API methods, instead passing context as part of options