private void Dispose(bool disposing)
        {
            if (_disposed)
            {
                _Log.Warn("Disposed was called more than once?!");
                return;
            }

            if (disposing)
            {
                // Dispose managed resources..
                Begin           = null;
                PhaseChanged    = null;
                ProgressChanged = null;
                Finished        = null;
                Error           = null;
                Warning         = null;
            }

            // Dispose un-managed resources..
            try {
                NativeCalls.wkhtmltoimage_deinit();
            }
            catch (DllNotFoundException) {
                // We may not be initialized yet
            }

            _disposed = true;
        }