Client App: factor out config serializer, move defensive programming