Will need to consider hooking into the TypeHandlers in the future - which might mean moving the JsonElement to class conversion elsewhere. Not important right now, but does mean that certain types such as assets aren't supported.