/// <summary>
        /// FileDialog for selecting any folder
        /// </summary>
        /// <param name="browserProperties">Special Properties of File Dialog</param>
        /// <param name="folderpath">User picked path(s) (Callback)</param>
        public void OpenFolderBrowser(BrowserProperties browserProperties, Action <string> folderpath)
        {
            var ofd = new VistaFolderBrowserDialog();

            ofd.Description            = browserProperties.title;
            ofd.UseDescriptionForTitle = true;

            if (ofd.ShowDialog(new WindowWrapper(GetActiveWindow())) == DialogResult.OK)
            {
                folderpath(ofd.SelectedPath);
            }
        }
        /// <summary>
        /// FileDialog for picking multiple file(s)
        /// </summary>
        /// <param name="browserProperties">Special Properties of File Dialog</param>
        /// <param name="filepath">User picked path(s) (Callback)</param>
        public void OpenMultiSelectFileBrowser(BrowserProperties browserProperties, Action <string[]> filepath)
        {
            var ofd = new VistaOpenFileDialog();

            ofd.Multiselect      = true;
            ofd.Title            = browserProperties.title == null ? "Select a File" : browserProperties.title;
            ofd.InitialDirectory = browserProperties.initialDir == null ? @"C:\" : browserProperties.initialDir;
            ofd.Filter           = browserProperties.filter == null ? "All files (*.*)|*.*" : browserProperties.filter;
            ofd.FilterIndex      = browserProperties.filterIndex + 1;
            ofd.RestoreDirectory = browserProperties.restoreDirectory;

            if (ofd.ShowDialog(new WindowWrapper(GetActiveWindow())) == DialogResult.OK)
            {
                filepath(ofd.FileNames);
            }
        }
        /// <summary>
        ///  FileDialog for saving any file, returns path with extention for further uses
        /// </summary>
        /// <param name="browserProperties">Special Properties of File Dialog</param>
        /// <param name="defaultFileName">Default File Name</param>
        /// <param name="defaultExt">Default File name extension, adds after default file name.</param>
        /// <param name="savepath">User picked path(s) (Callback)</param>
        public void SaveFileBrowser(BrowserProperties browserProperties, string defaultFileName, string defaultExt, Action <string> savepath)
        {
            var ofd = new VistaSaveFileDialog();

            ofd.FileName         = defaultFileName;
            ofd.DefaultExt       = defaultExt;
            ofd.CheckPathExists  = true;
            ofd.OverwritePrompt  = true;
            ofd.Title            = browserProperties.title;
            ofd.InitialDirectory = browserProperties.initialDir == null ? @"C:\" : browserProperties.initialDir;
            ofd.Filter           = browserProperties.filter;
            ofd.FilterIndex      = browserProperties.filterIndex + 1;
            ofd.RestoreDirectory = browserProperties.restoreDirectory;

            if (ofd.ShowDialog(new WindowWrapper(GetActiveWindow())) == DialogResult.OK)
            {
                savepath(ofd.FileName);
            }
        }