Alias_method from singleton_method_added

I’m trying to alias a method at the point that method is defined.
Here is an example that results in the error: NameError: undefined
method ‘foo’ for class `Test’.

class Test
class << self
def singleton_method_added(m)
puts m
alias_method :bar, :foo
end

def foo
end

end
end

How can I call alias_method from within singleton_method_added and
access the singleton method?

Thanks,
Aaron