pimpl management good practice

Most definitely.

@utkarshayachit unique_ptr impl seems the most reasonnable one.