Ruby Silverに向けて勉強しているものです。

特異クラスについて勉強用にサンプルコードを作成していたのですが、
自身の理解の範疇を越えたので質問させてください。

Module Fooを作成して、Class Barにextendでミックスインしています。
foo1が特異メソッドで定義されるのは理解しているつもりなんですが、
foo2、foo3についてBarからどのように呼び出せばよいのか(もしくはできない)を
おしえていただけないでしょうか

よろしくお願いいたします。

module Foo
  def foo1
    puts "foofoo1"
  end

  def Foo.foo2
    puts "foofoo2"
  end

  class << self
    def foo3
      puts "foofoo3"
    end
  end

end

class Bar
  extend Foo
end

結果です。

head :030 > Bar.foo2
NoMethodError: undefined method `foo2' for Bar:Class
    from (irb):30
    from /home/anoguchi/.rvm/rubies/ruby-head/bin/irb:11:in `<main>'

head :031 > Bar.foo3
NoMethodError: undefined method `foo3' for Bar:Class
    from (irb):31
    from /home/anoguchi/.rvm/rubies/ruby-head/bin/irb:11:in `<main>'