|  | @@ -110,6 +110,7 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      function PackagesBrik (brikz, st) {
 | 
	
		
			
				|  |  | +        // TODO remove .packages, have .packageDescriptors
 | 
	
		
			
				|  |  |          st.packages = {};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /* Add a package load descriptor to the system */
 | 
	
	
		
			
				|  | @@ -117,6 +118,7 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |          st.addPackage = function (pkgName, properties) {
 | 
	
		
			
				|  |  |              if (!pkgName) return null;
 | 
	
		
			
				|  |  |              return st.packages[pkgName] = {
 | 
	
		
			
				|  |  | +                // TODO remove .pkgName, have .name
 | 
	
		
			
				|  |  |                  pkgName: pkgName,
 | 
	
		
			
				|  |  |                  properties: properties
 | 
	
		
			
				|  |  |              };
 | 
	
	
		
			
				|  | @@ -134,8 +136,10 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |          var classes = [];
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          this.buildTraitOrClass = function (pkgName, builder) {
 | 
	
		
			
				|  |  | +            // TODO remove .className, have .name
 | 
	
		
			
				|  |  |              var traitOrClass = globals.hasOwnProperty(builder.className) && globals[builder.className];
 | 
	
		
			
				|  |  |              if (traitOrClass) {
 | 
	
		
			
				|  |  | +                // TODO remove .pkg, have .pkgName
 | 
	
		
			
				|  |  |                  if (!traitOrClass.pkg) throw new Error("Updated trait or class must have package: " + traitOrClass.className);
 | 
	
		
			
				|  |  |                  // if (traitOrClass.pkg.pkgName !== pkgName) throw new Error("Incompatible cross-package update of trait or class: " + traitOrClass.className);
 | 
	
		
			
				|  |  |                  builder.updateExisting(traitOrClass);
 | 
	
	
		
			
				|  | @@ -171,6 +175,7 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |          /* Answer all registered Smalltalk classes */
 | 
	
		
			
				|  |  |          //TODO: remove the function and make smalltalk.classes an array
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        // TODO: remove .classes, have .traitsOrClasses
 | 
	
		
			
				|  |  |          st.classes = this.classes = function () {
 | 
	
		
			
				|  |  |              return classes;
 | 
	
		
			
				|  |  |          };
 | 
	
	
		
			
				|  | @@ -200,6 +205,7 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |              that.protocol = spec.protocol;
 | 
	
		
			
				|  |  |              that.source = spec.source;
 | 
	
		
			
				|  |  |              that.messageSends = spec.messageSends || [];
 | 
	
		
			
				|  |  | +            // TODO remove .referencedClasses, have .referencedGlobals
 | 
	
		
			
				|  |  |              that.referencedClasses = spec.referencedClasses || [];
 | 
	
		
			
				|  |  |              that.fn = spec.fn;
 | 
	
		
			
				|  |  |              return that;
 | 
	
	
		
			
				|  | @@ -208,6 +214,7 @@ define(['./compatibility' /* TODO remove */], function () {
 | 
	
		
			
				|  |  |          /* Add/remove a method to/from a class */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          st.addMethod = function (method, traitOrBehavior) {
 | 
	
		
			
				|  |  | +            // TODO remove .methodClass, have .owner
 | 
	
		
			
				|  |  |              if (method.methodClass != null) {
 | 
	
		
			
				|  |  |                  throw new Error("addMethod: Method " + method.selector + " already bound to " + method.methodClass);
 | 
	
		
			
				|  |  |              }
 |