Well that was an easy fix. Seemed so strange that I thought it had to be a 
worse bug, but it's simply this: Use @ for instance variables in the 
to_yaml_properties method. Remember that! ;-) Cause if you don't it oddly 
cuts off the first letter of each varaible name --weird.

  def to_yaml_properties     
    ['@key','@name','@version', ...]
  end

NOT 

  def to_yaml_properties     
    ['key','name','version', ... ]
  end

-t0