made transfers save themselves instead of using strings everywhere

everything should run just as it did before, but the code should be more maintainable now.
+ its faster now that there aren't as many strings flying around

old saves should still work, but might be broken if there are any active transfers