Camel-case component classes correctly
Added optional body to defcomponent macro