Merges branch feature/optional-serializer into master, implementing the changes.
See #223 and #262 for details.