title: Can't access class instance variable set in another module
body: <p>I can't access class instance variable set in another module using the</p>
  
  <pre><code>instance_variable_set("@#{key_name}", key_value)
  </code></pre>
  
  <p>Like in the example below:</p>
  
  <pre><code>module Neo4jMapper
    module Node
      def self.included base
        base.extend NodeClassMethods
        base.send :prepend, NodeInstanceMethods
      end
    end
  
   module NodeInstanceMethods
  
     def initialize(prototype)
       # Set neo4jId
       @_id     = prototype["self"].split('/').last.to_i
  
       # Set properties
       for key in self.class.keys
         key_name = key[0]
         if prototype["data"].has_key?(key_name)
           key_value = prototype["data"][key_name] 
           instance_variable_set("@#{key_name}", key_value)
         end
       end
     end
   end 
  end
  
  
  class Person
    include Neo4jMapper::Node
    #....
  end
  </code></pre>
  
  <p>Instantiation:</p>
  
  <pre><code>person = Person.create({:name =&gt; "neo4j_mapper", :email =&gt; "test@test.com"})
  </code></pre>
  
  <p>This sets the person object with @name = "test@test.com" (viewed from the debugger). But the following line does not work:</p>
  
  <pre><code>email = person.email # ERROR: undefined method `email' for #&lt;Person:0x007fd2038b8508&gt;
  </code></pre>
  
  <p>Any ideas?</p>