JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.min.js"></script>

JavaScript

// Create app
var App = Ember.Application.create();

// Create map
App.Map = Ember.Map.create();

// Base Model
var BaseModel = Ember.Object.extend({
    init : function () {
        this._super();
        this.removable = true;
        this.callback  = undefined;
    }
});

// Create Model
var model = BaseModel.create({
    timeout : 250
});

// Override properties
model.set('callback', function () {});
model.set('removable', false);

// Set object
App.Map.set('foo', model);

// Debug
Ember.Logger.log(App.Map);                                     ///> <object>  Object       (as expected)
Ember.Logger.log(App.Map.get('foo'));                          ///> <object>  Ember.Object (as expected)
Ember.Logger.log(typeof (App.Map.get('foo')));                 ///> <string>  object       (as expected)
Ember.Logger.log(App.Map.get('foo').get('removable'));         ///> <boolean> false        (as expected)
Ember.Logger.log(typeof (App.Map.get('foo').get('callback'))); ///> <string>  function     (as expected)

// Remove object
App.Map.remove('foo');

// Debug
Ember.Logger.log(App.Map.get('foo')); ///> <string> undefined (as expected)