Add ref.; difference between 'extend self' and 'module_function' in Ruby