THIS IS A MAJOR OVERHAUL. THIS WILL BREAK EVERYTHING USING THE OLD API. BUT ITS BETTER. TRUST. ME.