API consistency and adding API data callbacks