public CharacterState(IREEventsFireCallbacks fireCallbacks)
        {
            this._fireCallbacks = fireCallbacks;

            REPlugin.Instance.Events.Decal.ActionComplete += DecalEventsProxy_ActionComplete;
            REPlugin.Instance.Events.Decal.CommandLineText += DecalEventsProxy_CommandLineText;
            REPlugin.Instance.Events.Decal.ChangePortalMode += DecalEventsProxy_ChangePortalMode;
            REPlugin.Instance.Events.Decal.StatusMessage += DecalEventsProxy_StatusMessage;
            REPlugin.Instance.Events.Decal.SpellCast += DecalEventsProxy_SpellCast;

            REPlugin.Instance.Events.RE.UsingPortal += RTEvents_UsingPortal;
            REPlugin.Instance.Events.RE.UsingObject += RTEvents_UsingObject;
            REPlugin.Instance.Events.RE.ApproachingObject += RTEvents_ApproachingObject;
            REPlugin.Instance.Events.RE.BeginNonZeroBusyState += RTEvents_BeginNonZeroBusyState;
            REPlugin.Instance.Events.RE.EndNonZeroBusyState += RTEvents_EndNonZeroBusyState;
            REPlugin.Instance.Events.RE.EndEquipItem += RT_EndEquipItem;

            REPlugin.Instance.Events.RE.SelfJump += RT_Jump;
            REPlugin.Instance.Events.RE.SelfJumpCompleted += RT_SelfJumpCompleted;

            REPlugin.Instance.Events.RE.VTStarted += RTEvents_VTStarted;
            REPlugin.Instance.Events.RE.VTStopped += RTEvents_VTStopped;

            // TODO : Hook VT Spell cast events once I have VTEventProxy Init'ing correctly
        }
 public MonitorManager(IREEventsFireCallbacks rtEventsFireCallbacks)
 {
     this._characterState = new CharacterState(rtEventsFireCallbacks);
     this._copyCatMaster = new CopyCatMaster();
     this._fellowshipMonitor = new FellowshipMonitor();
     this._worldMonitor = new WorldMonitor();
 }