//Creates a label and returns a pointer to it. cControls retains ownership, and the label will be destroyed in cControls' destructor.
template<typename Arg>
cLabel *cControls::CreateLabel(Arg &&arg)
{
cLabel *newLabel = new cLabel(std::forward<Arg>(arg));
this->AddControl(newLabel);
return newLabel;
}