replace future with channels.  remove observe api.