Move most NMS references over to reflection, add SafeWrapper, a simple reflection-friendly object wrapper