Index: /CKEditor/branches/prototype/_source/core/config.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/config.js	(revision 2258)
+++ /CKEditor/branches/prototype/_source/core/config.js	(revision 2259)
@@ -136,5 +136,5 @@
 	 * config.plugins = 'editingblock,toolbar,wysiwygarea';
 	 */
-	plugins : 'editingblock,elementspath,htmldataprocessor,sourcearea,toolbar,wysiwygarea',
+	plugins : 'basicstyles,editingblock,elementspath,htmldataprocessor,sourcearea,toolbar,wysiwygarea',
 
 	/**
Index: /CKEditor/branches/prototype/_source/core/editor.js
===================================================================
--- /CKEditor/branches/prototype/_source/core/editor.js	(revision 2258)
+++ /CKEditor/branches/prototype/_source/core/editor.js	(revision 2259)
@@ -177,5 +177,8 @@
 	return function( element, instanceConfig )
 	{
-		this._ = {};
+		this._ =
+		{
+			commands : {}
+		};
 
 		// Call the base constructor.
@@ -224,8 +227,27 @@
 			});
 	};
-}());
+})();
 
 CKEDITOR.editor.prototype =
 {
+	addCommand : function( commandName, commandDefinition )
+	{
+		this._.commands[ commandName ] = commandDefinition;
+	},
+
+	execCommand : function( commandName, data )
+	{
+		var command = this.getCommand( commandName );
+		if ( command )
+			return command.exec( data );
+
+		throw 'Unknown command name "' + commandName + '"';
+	},
+	
+	getCommand : function( commandName )
+	{
+		return this._.commands[ commandName ] || null;
+	},
+	
 	// Both fire and fireOnce will always pass this editor instance as the
 	// "editor" param in CKEDITOR.event.fire. So, we override it to do that
Index: /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js	(revision 2259)
+++ /CKEditor/branches/prototype/_source/plugins/basicstyles/plugin.js	(revision 2259)
@@ -0,0 +1,51 @@
+﻿/*
+ * CKEditor - The text editor for Internet - http://ckeditor.com
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+CKEDITOR.plugins.add( 'basicstyles',
+{
+	init : function( editor, pluginPath )
+	{
+		editor.addCommand( 'bold',
+			{
+				exec : function()
+				{
+					editor.focus();
+
+					var doc = editor.document;
+					if ( doc )
+						return doc.$.execCommand( 'bold', false, null );
+					return false;
+				}
+			});
+
+		editor.addCommand( 'italic',
+			{
+				exec : function()
+				{
+					editor.focus();
+					var doc = editor.document;
+					if ( doc )
+						return doc.$.execCommand( 'italic', false, null );
+					return false;
+				}
+			});
+	}
+});
