Add class to represent clients

This class provides a more Java-like interface than the
`getClientPreferences` method.