Various refactors to create closer similarities to the Structs API