/// <param name="dataSnapshot"> The data we need to construct a new Segment </param>
            /// <param name="previousChildName"> Supplied for ordering, but we don't really care about ordering in this app </param>
            public override void onChildAdded(DataSnapshot dataSnapshot, string previousChildName)
            {
                string name = dataSnapshot.Key;

                // To prevent lag, we draw our own segments as they are created. As a result, we need to check to make
                // sure this event is a segment drawn by another user before we draw it
                if (!outerInstance.mOutstandingSegments.Contains(name))
                {
                    // Deserialize the data into our Segment class
                    Segment segment = dataSnapshot.getValue(typeof(Segment));
                    outerInstance.drawSegment(segment, paintFromColor(segment.Color));
                    // Tell the view to redraw itself
                    invalidate();
                }
            }