···216216 collaborators={["Home.tsx"]}
217217/>
218218219219-And here its final CRC Card:
220220-221221-<CrcCard
222222- name="UserBookmarks"
223223- responsabilities={[
224224- "Retrieve bookmarks",
225225- "handling async processes (loading, error)",
226226- "display user bookmarks",
227227- "display 'add bookmark' button",
228228- ]}
229229- collaborators={["Home.tsx"]}
230230-/>
231231-232219## Simplification
233220234221Once we said all that, let's relook our component: less responsability and less hooks.
···299286}
300287```
301288289289+And here its final CRC Card:
290290+291291+<CrcCard
292292+ name="UserBookmarks"
293293+ responsabilities={[
294294+ "Retrieve bookmarks",
295295+ "handling async processes (loading, error)",
296296+ "display user bookmarks",
297297+ "display 'add bookmark' button",
298298+ ]}
299299+ collaborators={[
300300+ "Home.tsx",
301301+ "Title",
302302+ "ErrorMessage",
303303+ "useUserBookmarksQuery",
304304+ "Bookmarks",
305305+ "AddBookmarkButton",
306306+ ]}
307307+/>
308308+302309## Final thought
303310304304-What a
311311+What a cleanup! Looks like `UserBookmarks` does not do anything at all and delegate everything as there are more collaborators now!
312312+313313+That's the goal, delegation is for me underrated, we tend to extend too easily existing files instead of creating new files with clear responsability. Now I'm pretty sure what I'll encounter on the `useUserBookmarksQuery`, `TilesSkeleton`, `Bookmarks` and `AddBookmarkButton` and if I need to specify a new prop coming from the user to display bookmarks, for instance has the user's authorization to add bookmark? I know where I'll start: `UserBookmarks`.
305314306315## Playground
307316