Make required fields array field private, no need to be public.
Add docs for messages, formatters and serializers.