How do you write reusable UI components?