Move desktop-specific classes to separate package