Initial attempt to add file transfer functions

(probably somewhat broken)
Initial attempt to add file transfer callbacks

(probably somewhat broken as well)