Fully scoped out for chaining, need to add onReject callbacks.