More work on component UI