     }
     
     // Maps an Object to a JSON string and represents it as NSData
-    public func toJSONData(object: N) -> NSData? {
+    internal func toJSONData(object: N) -> NSData? {
         let json = toJSONString(object)
         return json?.dataUsingEncoding(NSUTF8StringEncoding)
     }
     
     // Maps an array of Objects to a JSON string and represents it as NSData
-    public func toJSONData(objects: [N]) -> NSData? {
+    internal func toJSONData(objects: [N]) -> NSData? {
         let json = toJSONString(objects)
         return json?.dataUsingEncoding(NSUTF8StringEncoding)
     }
     
     // Maps an Object to a JSON string with the given header and represents it as NSData
-    public func toJSONData(object: N, header: String) -> NSData? {
+    internal func toJSONData(object: N, header: String) -> NSData? {
         let json = toJSONString(object, header: header)
         return json?.dataUsingEncoding(NSUTF8StringEncoding)
     }
     
     // Maps an array of Objects to a JSON string with the given header and represents it as NSData
-    public func toJSONData(objects: [N], header: String) -> NSData? {
+    internal func toJSONData(objects: [N], header: String) -> NSData? {
         let json = toJSONString(objects, header: header)
         return json?.dataUsingEncoding(NSUTF8StringEncoding)
     }
     
     // Maps an optional NSData object to an object that conforms to Mappable.
-    public func mapData(JSONData: NSData?, keyPath: String? = nil) -> N? {
+    internal func mapData(JSONData: NSData?, keyPath: String? = nil) -> N? {
         guard let JSONData = JSONData else {
             return nil
         }

    }
    
    // Maps an array of Objects to a JSON string with the given header
    public func toJSONString(objects: [N], header: String) -> String? {
        let json = toJSONString(objects)
        if let json = json {
            return "{ \"\(header)\": \(json) }"

extension Mapper {
    
    // Maps an Object to a JSON string with the given header
    internal func toJSONString(object: N, header: String) -> String? {
        let json = toJSONString(object)
        if let json = json {
            return "{ \"\(header)\": \(json) }"
