Custom components with logic implementation