# Stuart Sierras Component System

Starting the implementation of user options (preferences) in CWiki (a personal wiki program) got me thinking about refactoring the project into a shape that is more compatible with Stuart Sierras reloaded workflow. Naturally, that led to thinking about his component architecture. Here are some more resources related to the component architecture.

• The component code repository is on Github here.
• The system repository contains many examples and ease-of-use functions.
• The blog post Retrofitting the Reloaded pattern into Clojure projects talks about how you can adapt an existing project to one that can use the reloaded workflow.
• A video on the use of component at Walmart
The most straightforward technique, and an absolutely obvious one that just never occurred to me was to replace defed vars with functions that returned the same data. Duh! Now I’m trying to get in the habit of replacing all of my global state data ​with such functions.