private void Open(Popup popup) { popup.Configure(() => { typeof(PopupManager) .GetMethod("Close") .MakeGenericMethod(popup.GetType()) .Invoke(this, null); }); OnOpening.SafeInvoke(popup.GetType()); popup.AnimateIn(() => { OnOpened.SafeInvoke(popup.GetType()); }); }