V1 of o-overlay

Yes, like I said, I'll make it async when we have o-progress.