protected virtual void UpdateAchievementImageDisplay(View cell)
        {
            if (cell == null)
            {
                return;
            }

            ImageView achivementImage;
            TextView  caption;
            TextView  description;
            TextView  percentageComplete;

            DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description,
                                                           out percentageComplete, out achivementImage);

            if (achivementImage != null)
            {
                if (AchievementImage != null)
                {
                    achivementImage.SetImageBitmap(AchievementImage);
                }
                else
                {
                    // TODO! Should clear the image!
                }
            }
        }
        protected override void UpdateCaptionDisplay(View cell)
        {
            if (cell == null)
            {
                return;
            }

            ImageView achivementImage;
            TextView  caption;
            TextView  description;
            TextView  percentageComplete;

            DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description,
                                                           out percentageComplete, out achivementImage);

            if (caption != null)
            {
                caption.Text = Caption;
            }
        }
        protected virtual void UpdatePercentageCompleteDisplay(View cell)
        {
            if (cell == null)
            {
                return;
            }

            ImageView achivementImage;
            TextView  caption;
            TextView  description;
            TextView  percentageComplete;

            DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description,
                                                           out percentageComplete, out achivementImage);

            if (percentageComplete != null)
            {
                percentageComplete.Text = PercentageComplete.ToString(CultureInfo.InvariantCulture);
            }
        }
        protected virtual void UpdateDescriptionDisplay(View cell)
        {
            if (cell == null)
            {
                return;
            }

            ImageView achivementImage;
            TextView  caption;
            TextView  description;
            TextView  percentageComplete;

            DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description,
                                                           out percentageComplete, out achivementImage);

            // TODO - this is slow for things which don't need complete rebinding...
            caption.Text            = Caption;
            description.Text        = Description;
            percentageComplete.Text = PercentageComplete.ToString(CultureInfo.InvariantCulture);
            if (AchievementImage != null)
            {
                achivementImage.SetImageBitmap(AchievementImage);
            }
        }