Encoding: Generating Markup
Every component's most basic tasks:
- Generating markup: encoding
- Processing requests: decoding
Components can encode directly, or they can delegate encoding to a separate
renderer.
Separate rendering allows switching markup languages from HTML to, say,
WML (Wireless Markup Language).
For simplicity, the first version of the spinner will render itself.