public function movePageByName($from, $to, $reason = null, $movetalk = null, $movesubpages = null, $noredirect = null,
		$watchlist = null, $ignorewarnings = null
	)
	{
		// Get the token.
		$token = $this->getToken($from, 'move');

		// Build the request path.
		$path = '?action=move';

		// Build the request data.
		$data = array(
			'from'           => $from,
			'to'             => $reason,
			'token'          => $token,
			'reason'         => $reason,
			'movetalk'       => $movetalk,
			'movesubpages'   => $movesubpages,
			'noredirect'     => $noredirect,
			'watchlist'      => $watchlist,
			'ignorewarnings' => $ignorewarnings,
		);

		// Send the request.
		$response = $this->client->post($this->fetchUrl($path), $data);

		return $this->validateResponse($response);
	}