Improved FreeVerb argument names.
Made UGen instantiation more strict.
Improved OSCListener callback handling.
Implemented many public functions on Node.
Added controllib.WaitForServer context manager.

    from supriya import audiolib
    from supriya import controllib

    server = controllib.Server().boot()

    def make_synth_definition():
        synthdef = audiolib.SynthDef(
            'test',
            damping=0.1,
            delay_time=1.0,
            room_size=0.9,
            )
        controls = synthdef.controls
        microphone = audiolib.SoundIn.ar(bus=(0, 1))
        delay = audiolib.DelayC.ar(
            source=microphone,
            maximum_delay_time=5.0,
            delay_time=controls['delay_time'],
            )
        reverb = audiolib.FreeVerb.ar(
            source=delay,
            mix=0.5,
            room_size=controls['room_size'],
            damping=controls['damping'],
            )
        out = audiolib.Out.ar(bus=0, source=reverb)
        synthdef.add_ugen(out)
        return synthdef

    with controllib.WaitForServer(('/done', '/d_recv')):
        synthdef = make_synth_definition()
        synthdef.add()

    synth = controllib.Synth("test")