Depends on App interface not on its implementation