since callback might come at different parts of method calls (eg `fetchByKeyRange` vs `get`), treat the 1st function in arguments as callback