Abstract app really abstract, new AppTypeID enum

and subsequent adaptations