Some structure changes

The manage of component connection is now handled by Component class

BreakableObstacle is now able to be broken