BREAK APART DRIVER INTO SIMPLER CHUNKS - done GET KERNEL DRIVER WORKING GET TRIPLE THREADED DRIVER WORKING STABLIZE THE API ADOPT SOME CONVENTIONS FROM THE MACKIE GET SAVING STATE WORKING