The best way would be to use a RenderController object.
RenderController allows you to hide and show different renderable items with a transition of your choice.
Check out this example (slightly modified for you) posted under the Famo.us Github account.
https://github.com/Famous/examples/blob/master/src/examples/views/RenderController/example.js
var Engine = require("famous/core/Engine");
var Modifier = require("famous/core/Modifier");
var Surface = require("famous/core/Surface");
var RenderController = require("famous/views/RenderController");
var mainContext = Engine.createContext();
var renderController = new RenderController();
var surfaces = [];
var counter = 0;
surfaces.push(new Surface({
content: "Surface 1",
size: [200, 200],
properties: {
backgroundColor: "green",
lineHeight: "200px",
textAlign: 'center'
}
}));
surfaces.push(new Surface({
content: "Surface: 2",
size: [200, 200],
properties: {
backgroundColor: "red",
lineHeight: "200px",
textAlign: 'center'
}
}));
renderController.show(surfaces[0]);
Engine.on("click", function() {
var next = (counter++ + 1) % surfaces.length;
this.show(surfaces[next]);
}.bind(renderController));
mainContext.add(new Modifier({origin: [.5, .5]})).add(renderController);
Fixed: Added missing parenthesis at the end of both surfaces.push(...) calls.