def update(offset, value)
      return unless (memory_offset..memory_offset_end).include?(offset)
      @to_s = nil

      diff = offset - @memory_offset
      h    = diff / @width
      w    = diff % @width
      @chars[diff] = Char.new(value, w + @x_offset, h + @y_offset)
      print @chars[diff]
      changed
      notify_observers(self)
      print @chars[diff]
    end
def update(offset, value)
      return unless (memory_offset..memory_offset_end).include?(offset)
      @to_s = nil

      diff = offset - @memory_offset
      h    = diff / @width
      w    = diff % @width
      @chars[diff] = Char.new(value, w + @x_offset, h + @y_offset)
      print @chars[diff]
      changed
      notify_observers(self)
      print @chars[diff]
    end
Callback from observed memory