Common component for building UIs