data source API change -> callbacks instead of promises
remove multiple template logic in favor of ng-if and ng-switch