completely overhauls the reflection stuff, this will make it easier to use for custom introspection endpoints because it is easier to extend and customize, this will allow us to better control the output for the new web-client