How does the returntype as a component effect the function and the actual
return? Is this the same as extending another component? Can someone explain
what it means to use a component name as the return type in the function?