prevent multiple calls to async property functions