Remove delimiter class
diff --git a/lib/mustache.dart b/lib/mustache.dart
index 17a8848..a187b7a 100644
--- a/lib/mustache.dart
+++ b/lib/mustache.dart
@@ -31,8 +31,7 @@
       {bool lenient,
        bool htmlEscapeValues,
        String name,
-       PartialResolver partialResolver,
-       Delimiters delimiters}) = _Template.fromSource;
+       PartialResolver partialResolver}) = _Template.fromSource;
   
   String get name;
   String get source;
@@ -129,57 +128,3 @@
 class MustacheMirrorsUsedAnnotation {
   const MustacheMirrorsUsedAnnotation();
 }
-
-
-//FIXME Don't expose this. Just take a string in the api.
-class Delimiters {
-  
-  const Delimiters.standard() : this(
-      _OPEN_MUSTACHE,
-      _OPEN_MUSTACHE,
-      _CLOSE_MUSTACHE,
-      _CLOSE_MUSTACHE);
-  
-  // Assume single space between delimiters.
-  factory Delimiters.fromString(String delimiters) {
-    if (delimiters.length == 3) {
-      return new Delimiters(
-          delimiters.codeUnits[0],
-          null,
-          null,
-          delimiters.codeUnits[2]);
-    
-    } else if (delimiters.length == 5) {
-      return new Delimiters(
-                delimiters.codeUnits[0],
-                delimiters.codeUnits[1],
-                delimiters.codeUnits[3],
-                delimiters.codeUnits[4]);
-    } else {
-      throw 'Invalid delimiter string'; //FIXME
-    }
-  }
-  
-  const Delimiters(this.open, this.openInner, this.closeInner, this.close);
-  
-  final int open;
-  final int openInner;
-  final int closeInner;
-  final int close;
-  
-  String toString() {
-    var value = new String.fromCharCode(open);
-    
-    if (openInner != null)
-      value += new String.fromCharCode(openInner);
-    
-    value += ' ';
-    
-    if (closeInner != null)
-      value += new String.fromCharCode(closeInner);
-    
-    value += new String.fromCharCode(close);
-    
-    return value;
-  }
-}
diff --git a/lib/src/lambda_context.dart b/lib/src/lambda_context.dart
index af913e5..c52a2a7 100644
--- a/lib/src/lambda_context.dart
+++ b/lib/src/lambda_context.dart
@@ -61,9 +61,7 @@
     _checkClosed();
     var sink = new StringBuffer();
     // Lambdas used for sections should parse with the current delimiters.
-    var delimiters = _isSection
-        ? new Delimiters.fromString(_renderer._delimiters)
-        : new Delimiters.standard();
+    var delimiters = _isSection ? _renderer._delimiters : '{{ }}';
     var node = _parse(source,
         _renderer._lenient,
         _renderer._templateName,
diff --git a/lib/src/parse.dart b/lib/src/parse.dart
index 6a92296..4b8e9f0 100644
--- a/lib/src/parse.dart
+++ b/lib/src/parse.dart
@@ -3,8 +3,10 @@
 final RegExp _validTag = new RegExp(r'^[0-9a-zA-Z\_\-\.]+$');
 final RegExp _integerTag = new RegExp(r'^[0-9]+$');
 
-_Node _parse(String source, bool lenient, String templateName,
-             Delimiters delimiters) {
+_Node _parse(String source,
+             bool lenient,
+             String templateName,
+             String delimiters) {
   
   if (source == null) throw new ArgumentError.notNull('Template source');
   
diff --git a/lib/src/scanner.dart b/lib/src/scanner.dart
index 61218b4..bf1dacf 100644
--- a/lib/src/scanner.dart
+++ b/lib/src/scanner.dart
@@ -22,15 +22,16 @@
 

 class _Scanner {

   

-	_Scanner(String source, this._templateName, Delimiters initial, {bool lenient: true})

+	_Scanner(String source, this._templateName, String delimiters, {bool lenient: true})

 	 : _r = new _CharReader(source),

-	   _lenient = lenient,

-	   _openDelimiter = (initial == null) ? _OPEN_MUSTACHE : initial.open,

-	   _openDelimiterInner =

-	     (initial == null) ? _OPEN_MUSTACHE : initial.openInner,

-	   _closeDelimiterInner =

-	     (initial == null) ? _CLOSE_MUSTACHE : initial.closeInner,

-	   _closeDelimiter = (initial == null) ? _CLOSE_MUSTACHE : initial.close;	   

+	   _lenient = lenient {

+	  

+	  var delims = _parseDelimiterString(delimiters);

+    _openDelimiter = delims[0];

+    _openDelimiterInner = delims[1];

+    _closeDelimiterInner = delims[2];

+    _closeDelimiter = delims[3];

+	}

 

 	final String _templateName;

 	

@@ -219,11 +220,11 @@
      _expect(delimiterInner);

      _expect(delimiter);

     

-     var value = new Delimiters(

+     var value = _delimiterString(

          _openDelimiter,

          _openDelimiterInner,

          _closeDelimiterInner,

-         _closeDelimiter).toString();

+         _closeDelimiter);

           

      _tokens.add(new _Token(_CHANGE_DELIMITER, value, line, col));

 	}

@@ -323,3 +324,28 @@
 	}

 }

 

+_delimiterString(int open, int openInner, int closeInner, int close) {

+  var buffer = new StringBuffer();

+  buffer.writeCharCode(open);

+  if (openInner != null) buffer.writeCharCode(openInner);

+  buffer.write(' ');

+  if (closeInner != null) buffer.writeCharCode(closeInner);

+  buffer.writeCharCode(close);

+  return buffer.toString();

+}

+

+List<int> _parseDelimiterString(String s) {

+  if (s == null) return [_OPEN_MUSTACHE, _OPEN_MUSTACHE,

+                         _CLOSE_MUSTACHE, _CLOSE_MUSTACHE];

+  if (s.length == 3) {

+    return [s.codeUnits[0], null, null, s.codeUnits[2]];

+  

+  } else if (s.length == 5) {

+    return [s.codeUnits[0],

+            s.codeUnits[1],

+            s.codeUnits[3],

+            s.codeUnits[4]];

+  } else {

+    throw 'Invalid delimiter string $s'; //FIXME

+  }  

+}
\ No newline at end of file
diff --git a/lib/src/template.dart b/lib/src/template.dart
index 82d8fe8..3574981 100644
--- a/lib/src/template.dart
+++ b/lib/src/template.dart
@@ -6,10 +6,9 @@
        {bool lenient: false,

         bool htmlEscapeValues : true,

         String name,

-        PartialResolver partialResolver,

-        Delimiters delimiters : const Delimiters.standard()})

+        PartialResolver partialResolver})

        :  source = source,

-          _root = _parse(source, lenient, name, delimiters),

+          _root = _parse(source, lenient, name, '{{ }}'),

           _lenient = lenient,

           _htmlEscapeValues = htmlEscapeValues,

           _name = name,