/// <summary>
        /// Add a new score to the local DB
        /// </summary>
        /// <param name="score">Score.</param>
        public int AddLocalScore(LocalScore score)
        {
            lock (mLocker) {
                mDb.Insert (score);
            }
            // Rank?
            List<LocalScore> modeScore = mDb.Table<LocalScore> ().Where (s => (s.Mode == score.Mode) && (s.Difficulty == score.Difficulty))
                .OrderByDescending (s => s.Score).Take (999).ToList ();

            int rank = modeScore.IndexOf (score);

            if (rank >= 0) {
                return rank;
            }

            return 999;
        }
        /// <summary>
        /// Updates local scores.
        /// </summary>
        /// <param name="locals">List of local scores.</param>
        private void UpdateLocals(LocalScore[] locals)
        {
            // Reveal field depending on the available scores.
              if (locals.Length > 0)
            UpdateLocalRank(LabelRank1, LabelRank1Score, locals[0].Score);

              if (locals.Length > 1)
            UpdateLocalRank(LabelRank2, LabelRank2Score, locals[1].Score);

              if (locals.Length > 2)
            UpdateLocalRank(LabelRank3, LabelRank3Score, locals[2].Score);

              if (locals.Length > 3)
            UpdateLocalRank(LabelRank4, LabelRank4Score, locals[3].Score);

              if (locals.Length > 4)
            UpdateLocalRank(LabelRank5, LabelRank5Score, locals[4].Score);
        }