Improved upon valueHandlers work by DiWu.

Now store as an array of objects so that the list is easier to work with.

Added more thorough testing.

Passing the same value type twice will simply result in handler overriding.
Fix test breaks on CI.
Further test fixes.