public static void Init(IConfig controlConfig, UUID godID, Control control, IPrimFactory factory)
        {
            factory.AddLinkSetRoot(factory.Host.ID);

            string userFolder = controlConfig.Get("UserFolder", ".");
            string godName = controlConfig.GetString(GOD_KEY, GOD);
            string sequenceFolder = controlConfig.Get("SequenceFolder", ".");
            string sequence = controlConfig.GetString(SEQUENCE_KEY);

            if (sequence == null) {
                control.HostPrim.Say("Unable to start sequence control. No sequence file specified.");
                throw new Exception("Unable to start sequence control. No sequence file specified.");
            }
            string location = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.Combine(userFolder, Path.Combine(godName, Path.Combine(sequenceFolder, sequence))));
            if (!File.Exists(location)) {
                control.HostPrim.Say("Unable to start sequence control. Sequence File '" + location + "' does not exist.");
                throw new Exception("Unable to start sequence control. Sequence File '" + location + "' does not exist.");
            }

            IButton PlayButton = control.MakeButton("Play");
            IButton PauseButton = control.MakeButton("Pause");
            IButton StopButton = control.MakeButton("Stop");
            IButton StepButton = control.MakeButton("Step");
            IToggle PauseToggle = new Toggle(PauseButton, 1, control.ToggleGlow);

            foreach (var pause in PauseToggle.Prims)
                pause.Colour = Color.White;

            PlayButton.OnTouched += (source, args) => {
                if (!control.Record.PlayingSequence) {
                    control.Clear(godName, godID);
                    control.Record.PlayRecording(godName, godID, sequence);
                }
            };
            StopButton.OnTouched += (source, args) => {
                control.Record.StopPlayback();
                control.Clear(godName, godID);
                control.HostPrim.Say("Stopped playback.");
            };
            PauseToggle.OnToggled += (source, args) => {
                control.Record.Paused = PauseToggle.IsOn;
                foreach (var prim in PauseToggle.Prims) {
                    prim.Glow = PauseToggle.IsOn ? .1d : 0d;
                    prim.Colour = Color.White;
                }
            };
            StepButton.OnTouched += (source, args) => {
                if (!control.Model.Step() && control.Record.PlayingSequence)
                    control.Record.PlayNextEvent();
            };
        }