 {Symbol, Map, Set} = require 'es6'
 
 symbols = require './symbols'
-bPool = Symbol 'pool of disposed components'
+# bPool = Symbol 'pool of disposed components'
 bData = Symbol 'data array for the component'
 
 identities = fast.clone(require './primes').reverse()

		Object.defineProperty componentPrototype, field, createDataProperty(i)

	ComponentType = (data) ->
		if not data and componentPool.length
			component = componentPool.pop()
		else
			component = Object.create componentPrototype
			initializeData component, fields, data
			Object.setPrototypeOf component, ComponentType.prototype
		return component

	ComponentType[ bPool ] = componentPool
	ComponentType[ symbols.bFields ] = fields
	ComponentType[ symbols.bName ] = name
	ComponentType[ symbols.bIdentity ] = identity

	return unless data = this[ bData ]
	data.length = 0
	delete this[ symbols.bChanged ]
	# this[ symbols.bType ][ bPool ].push this

basePrototype =
	toString: -> this[ symbols.bType ].toString() + if data = this[ bData ]
