More refactor to correctly support proxy widgets