Use unique_ptr instead of shared_ptr for impl of some classes.