closes #6 (when no callback is provided, return rxjs wrapper)