Changed a bunch of stuff to interfaces, and merged therevills' midhandle changes.
Changed a bunch of stuff to interfaces, and merged therevills' midhandle changes.

swoolcock/diddy,swoolcock/diddy,swoolcock/diddy,swoolcock/diddy,swoolcock/diddy