Use typedef of std::shared_ptr<Piece>