sig
  val add : t -> Job.t -> unit Lwt.t
  val mem : t -> Job.id -> bool Lwt.t
  val get : t -> Job.id -> Job.t Lwt.t
  val list : t -> Job.id list Lwt.t
  val status : Store.t -> Job.id -> Job.status Lwt.t
  val pending : Store.t -> Job.id -> unit Lwt.t
  val running : Store.t -> Job.id -> unit Lwt.t
  val success : Store.t -> Job.id -> unit Lwt.t
  val failure : Store.t -> Job.id -> unit Lwt.t
  val add_output : Store.t -> Job.id -> Object.id -> unit Lwt.t
  val outputs : Store.t -> Job.id -> Object.id list Lwt.t
  val watch : Store.t -> Job.t Store.callback -> Store.cancel Lwt.t
  val watch_status :
    Store.t -> Job.id -> Job.status Store.callback -> Store.cancel Lwt.t
end