Move asyncstream package, since it's now being used by other projects.
Refactor property access a bit to make it simpler to do it properly.