- implemented factory system
- systems now use typeId instead of category for identity
- Added AMD support