Fixed a few bugs, attempted to move away from cumbersome reflective
calls to using access transformer