brief documentation explaining the @weakify(self) @strongify(self) dance