Self types for components