@@ -12,8 +12,13 @@ namespace MvvmCross.ViewModels
 
         void Initialize();
 
-        void Startup(object hint);
+        void Startup();
 
         void Reset();
     }
+
+    public interface IMvxApplication<TStartupHint> : IMvxApplication
+    {
+        TStartupHint StartupWithHint(TStartupHint hint);
+    }
 }
﻿// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MS-PL license.
// See the LICENSE file in the project root for more information.

using MvvmCross.Plugin;

namespace MvvmCross.ViewModels
{
    public interface IMvxApplication : IMvxViewModelLocatorCollection
    {
        void LoadPlugins(IMvxPluginManager pluginManager);

        void Initialize();

        void Startup(object hint);

        void Reset();
    }
}

I would leave this `void Startup(object hint);`, for one to not break it, and another, maybe people just don't want to use a generic. Also adjust the trace messages to do this.