Update Component and FireFactory, take out work 'Factory'