Using the libraries is as simple as requiring the file that has the service definitions, and then invoking the @#register_services@ module function:

<pre>
  require 'needle'

  reg = Needle::Registry.new
  reg.define do |b|
    b.foo { Foo.new }

    require 'crypto/services'
    Crypto.register_services( reg )
  end

  prng = reg.crypto.prng
</pre>

To make this easier, the Container class has a convenience method named @#require@:

<pre>
  require 'needle'

  reg = Needle::Registry.new
  reg.define do |b|
    b.foo { Foo.new }
    b.require 'crypto/services', "Crypto"
  end

  prng = reg.crypto.prng
</pre>

The @Container#require@ method will require the file, and then look for a @#register_services@ method of the named module. It will execute that method, passing the container as an argument.
