Redesign Most of the Internal Communication

This commit makes the callbacks much simpler and will avoid any future
race conditions with a polling mechanism.