I think it will be clearer if methods in Api return Promise instead invoke a callback. How about you ?