Text this: A component-based reverse engineering approach: decomposing web pages to facilitate maintenance and reusability