With the increasing capability of vehicular communications technology, VANETs (Vehicular Ad-Hoc Networks) have witnessed significant development. Many VANET routing protocols have been proposed and operate well in the specific network they have been developed for such as dense or sparse networks but tend not to operate well or interoperate with different networks. This is a challenging requirement and we address this issue by proposing a (re-)configurable implementation that can adjust the behaviour of the protocol to different operating environments and application requirements. One possible way of achieving this is through a component-based architecture consisting of re-usable components that can be plugged in and out of the system. The paper illustrates how this componentization process can be carried out and how the given architecture is then configured to suit varying network states. The paper also identifies commonalities that exist across different routing protocols, leading up to the design of a generic component-based platform which can be used for VANET routing protocol development.