Fancier define-component syntax