* Refactor api.go * Refactor more * Finish * More * Rename * More rename * Split observer.go common into async.go; rename common.go sync.go * Move types a bit