it seems like you added a lot of code but not really any tests (most of the below just looks like method renaming).

would it make sense to add some for some of the logic that's been added to validate and document what we expect those methods to do under the different circumstances? 

thinking immediately about the transferring of credits stuff.