package Ġnl . ent re co . domain . play . start Ċ Ċ import Ġnl . ent re co . domain . Analytics Ċ import Ġnl . ent re co . domain . repository . Game Repository Ċ import Ġnl . ent re co . lib core . Base Use case Ċ import Ġnl . ent re co . lib core . threading . Background Ċ import Ġnl . ent re co . lib core . threading . Foreground Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠDelete Game Use case Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġgame Repository : ĠGame Repository , ĊĠĠĠ Ġprivate Ġval Ġanalytics : ĠAnalytics , ĊĠĠĠ Ġbg : ĠBackground , ĊĠĠĠ Ġfg : ĠFore ground , Ċ ) Ġ: ĠBase Use case ( bg , Ġfg ) Ġ{ ĊĊĠĠĠ Ġfun Ġexec ( request : ĠDelete Game Request , Ġdone : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Background ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanalytics . track Ach ievement (" Game ĠAb and oned Ġ& ĠDeleted ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgame Repository . delete ( request . game Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ui Ġ{ Ġdone () Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġon Ui Ġ{ Ġdone () Ġ} Ġ}) ĊĠĠĠ Ġ} Ċ }