 # The collection of errors that will be displayed.
-CI.inner.Diagnostics = class Diagnostics extends CI.inner.Obj
-  observables: =>
-    selected: 0
-
+CI.inner.Diagnostics = class Diagnostics
   constructor: (@config, @errors, properties={}) ->
-    super properties
+    @selected = 0
     # Create an annotated representation of the configuration.
     @ann = new CI.inner.Annotated @config
     # Keep track of the first and the last lines that are parts of errors.

    @flag =
      error_flag: true
      number: @index
      selected: @selected
      select: @select

  select: () =>
    @diagnostics.selected @index

  select_next: () =>
    @diagnostics.selected (@index + 1) % @diagnostics.errors.length

# A data structure for annotating text. Handles overlapping annotations
# automatically.

      ix >= @first - 3 and ix <= @last + 3

# An individual error.
CI.inner.ConfigError = class ConfigError
  constructor: (error, @index, @diagnostics) ->
    for k,v of error
      @[k] = v

    # Render the path a la JS field / array member accessing.
    @path = @path?.map (part, index) =>
      if typeof part == 'string'
