Broke zbeacon constructor to make it fit other async objects

Also some other cleanups.