Move close semantics to separate base class