begin to design C APIs to observables