Manchester City have done something unusual in giving Riyad Mahrez a new contract.