Sync version of api

At the beginning it was just an experiment but we can add this functionality to the library.

Benefits:
  * Simpler code.
  * Faster code.

//cc @dodev, @lemmy-
``` returns {Object} ``` ?
Check jsdoc for return types as a lot of methods were updated.