Added unique component IDs.
Added Component joining and unjoining.