void Start()
    {
        StringBuilder logString = new StringBuilder();

        logString.Append("Module generated with the following word-color sequence:\n");
        logString.Append("# | Word    | Color   | Valid Response\n");
        logString.Append("--+---------+---------+----------------\n");

        string blockTitle = "";
        string condition  = "";

        GenerateModuleInformation();

        RuleButtonPressHandler ruleHandler = SetupRules(ref blockTitle, ref condition);

        SetRuleButtonPressHandler(ruleHandler);

        //Logging section
        for (int colourSequenceIndex = 0; colourSequenceIndex < _colourSequence.Length; ++colourSequenceIndex)
        {
            _currentColourSequenceIndex = colourSequenceIndex;
            ColourPair pair     = _colourSequence[_currentColourSequenceIndex];
            string     response = ruleHandler(true) ? "[YES]" : (ruleHandler(false) ? "[NO]" : "---");

            logString.AppendFormat("{0} | {1,-7} | {2,-7} | {3}\n", colourSequenceIndex + 1, pair.ColourText.ToString(), pair.ColourValue.ToString(), response);
        }
        logString.Append("\nThe sequence matched the following block title and condition statement:\n");
        logString.AppendFormat("\"{0}\"\n-> \"{1}\"\n", blockTitle, condition);

        BombModule.Log(logString.ToString());

        _currentColourSequenceIndex = -1;

        BombModule.OnActivate += HandleModuleActive;

        ButtonYes.KMSelectable.OnInteract += HandlePressYes;
        ButtonNo.KMSelectable.OnInteract  += HandlePressNo;
    }
 private void SetRuleButtonPressHandler(RuleButtonPressHandler handler)
 {
     _ruleButtonPressHandler = handler;
 }