title: Nested dictionaries in classes
body: <p>I am experiencing an unexpected behavior with this data structure.</p>
  
  <pre><code>    class IncomeVerification(object):
  
          data = {'IncomeYears': []}
  
          def __init__(self, income_years):
              for year in income_years:
                  new_year = IncomeYear(year).data
                  self.data['IncomeYears'].append(new_year)
  
      class IncomeYear(object):
          data = {'IncomeYear': {'Year': None}}
  
          def __init__(self, year, reported_income=None):
              self.data['IncomeYear']['Year'] = year
  
      income_years = ['2014', '2013', '2012', '2011']
  
      foo = IncomeVerification(income_years)
      print foo.data
  </code></pre>
  
  <p>This returns,</p>
  
  <pre><code>     {'IncomeYears': [{'IncomeYear': {'Year': '2011'}}, {'IncomeYear': {'Year': '2011'}}, {'IncomeYear': {'Year': '2011'}}, {'IncomeYear': {'Year': '2011'}}]}
  </code></pre>
  
  <p>I am expecting,</p>
  
  <pre><code>    {'IncomeYears': [{'IncomeYear': {'Year': '2014'}}, {'IncomeYear': {'Year': '2013'}}, {'IncomeYear': {'Year': '2012'}}, {'IncomeYear': {'Year': '2011'}}]}
  </code></pre>
  
  <p>I believe the nested nature of my dictionaries creates unique key problems and therefore overwrites existing entries. Any ideas on how to modify the call above to get my desired result?</p>
  
  <p>Thank you.</p>