do not re-use the storage serializer, it may not always be JSON and we need JSON here since we are communicating with the browser