Component manager (ready)

- Still needs a few JSDoc comments.