Invalid fields should be an array.
Updating docblocks and getting interfaces back in line with implementations.
Docblock fixes.
Docblock fixes.
Bit more tidying up.