private static async void AuthenicationCommand(AuthOptions authOptions, TaskCompletionSource <object> taskCompletionSource) { try { KitsuSession session = await KitsuSessionManager.BeginSession(authOptions.Username, authOptions.Password); await KitsuSessionManager.PersistSessionToFileAsync(session, SessionFileName); Console.WriteLine("Logged in as: {0}", session.UserName); taskCompletionSource.SetResult(session); } catch (Exception ex) { Console.Error.WriteLine("Unable to log in."); Console.Error.WriteLine(ex.ToString()); taskCompletionSource.SetException(ex); } }