private void newInspector(Outlook.Inspector inspector)
        {
            if (inspector.CurrentItem is Outlook.MailItem)
            {
                // Cast and create wrapper
                Outlook.MailItem mailItem   = inspector.CurrentItem;
                editorWrapper    newWrapper = new editorWrapper(mailItem);

                // Wrapper created, register Application level callbacks
                inspector.Application.ItemSend += (object item, ref bool cancel) =>
                {
                    inspector.CurrentItem.DeferredDeliveryTime = // Implement 30 second delay if enabled
                                                                 (newWrapper.toggleDelay) ? (DateTime.Now).Add(new TimeSpan(0, 0, 30)) : new DateTime(4501, 1, 1);
                };

                // Register Window level callbacks
                ((Outlook.InspectorEvents_10_Event)inspector).Activate += newWrapper.runTimer;
                inspector.Deactivate += newWrapper.pauseTimer;
                ((Outlook.InspectorEvents_10_Event)inspector).Close += () => { editorWrapperCollection.Remove(inspector.GetHashCode()); };

                // Register mail item callbacks
                mailItem.Open          += (ref bool s) => { newWrapper.addInVisible = newWrapper.getTaskPane.Visible = false; }; // Prevent ribbon options from blinking when changing drafts
                mailItem.AttachmentAdd += newWrapper.examineAttachment;
                mailItem.Unload        += newWrapper.deconstructWrapper;

                // That's a wrap
                editorWrapperCollection.Add(inspector.GetHashCode(), newWrapper);
            }
        }