diff --git a/core/modules/system/lib/Drupal/system/JsonNormalizer.php b/core/modules/system/lib/Drupal/system/JsonNormalizer.php
new file mode 100644
index 0000000..bee5c19
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/JsonNormalizer.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\system\JsonNormalizer.
+ */
+
+namespace Drupal\system;
+
+/**
+ * Converts the Drupal entity object structure to a normalized array form for
+ * JSON.
+ */
+class JsonNormalizer extends NormalizerBase {
+
+  /**
+   * The format that this Normalizer supports.
+   *
+   * @var string
+   */
+  static protected $format = 'json';
+
+}
diff --git a/core/modules/system/lib/Drupal/system/NormalizerBase.php b/core/modules/system/lib/Drupal/system/NormalizerBase.php
new file mode 100644
index 0000000..f80b3c1
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/NormalizerBase.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\system\NormalizerBase.
+ */
+
+namespace Drupal\system;
+
+use Drupal\Core\Entity\EntityNG;
+use Symfony\Component\Serializer\Exception\RuntimeException;
+use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
+
+/**
+ * Converts the Drupal entity object structure to a normalized array.
+ *
+ * This class should be extended to atleast provide a $format property specific
+ * to the format.
+ * @see \Drupal\system\JsonNormalizer.
+ */
+abstract class NormalizerBase implements NormalizerInterface {
+
+  /**
+   * Normalizes an object into a set of arrays/scalars.
+   *
+   * @param object $object
+   *   Object to normalize.
+   * @param string $format
+   *   Format the normalization result will be encoded as.
+   *
+   * @return array
+   *   An array containing the properties of the entity.
+   */
+  public function normalize($object, $format = NULL) {
+    return $object->getProperties();
+  }
+
+  /**
+   * Checks whether the data and format are supported by this normalizer.
+   *
+   * @param mixed  $data
+   *   Data to normalize.
+   * @param string $format
+   *   Format the normalization result will be encoded as.
+   *
+   * @return bool
+   *   Returns TRUE if the normalizer can handle the request, FALSE otherwise.
+   */
+  public function supportsNormalization($data, $format = NULL) {
+    // If this is an Entity object and the request is for the correct format.
+    return is_object($data) && ($data instanceof EntityNG) && static::$format === $format;
+  }
+
+}
diff --git a/core/modules/system/lib/Drupal/system/SystemBundle.php b/core/modules/system/lib/Drupal/system/SystemBundle.php
new file mode 100644
index 0000000..29789c6
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/SystemBundle.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * @file
+ * Contains Drupal\system\SystemBundle.
+ */
+
+namespace Drupal\system;
+
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\HttpKernel\Bundle\Bundle;
+use Symfony\Component\Serializer\Serializer;
+
+/**
+ * System bundle container.
+ */
+class SystemBundle extends Bundle {
+
+  /**
+   * Overrides Symfony\Component\HttpKernel\Bundle\Bundle::build().
+   */
+  public function build(ContainerBuilder $container) {
+    $options = array('priority' => 5);
+
+    $container->register('serializer.normalizer.json', 'Drupal\system\JsonNormalizer')->addTag('normalizer', $options);
+    $container->register('serializer.encoder.json', 'Symfony\Component\Serializer\Encoder\JsonEncoder')->addTag('encoder', $options);
+    $container->register('serializer.normalizer.xml', 'Drupal\system\XmlNormalizer')->addTag('normalizer', $options);
+    $container->register('serializer.encoder.xml', 'Symfony\Component\Serializer\Encoder\XmlEncoder')->addTag('encoder', $options);
+  }
+}
diff --git a/core/modules/system/lib/Drupal/system/XmlNormalizer.php b/core/modules/system/lib/Drupal/system/XmlNormalizer.php
new file mode 100644
index 0000000..55b0d58
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/XmlNormalizer.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\system\XmlNormalizer.
+ */
+
+namespace Drupal\system;
+
+/**
+ * Converts the Drupal entity object structure to a normalized array form for
+ * XML.
+ */
+class XmlNormalizer extends NormalizerBase {
+
+  /**
+   * The format that this Normalizer supports.
+   *
+   * @var string
+   */
+  static protected $format = 'xml';
+
+}
