A few modifications to the core code whilst developing the web form module. Essentially a few more points at which the different attribute types can hook in.