Use Jackson annotations instead of custom serializers; addresses concerns of #58