Make ControlControl more generic