Added SquareComponent, refined pseudoclass hierarchy for Components