Change loop timing to something more reasonable than using sleep()
Update protocol handler and shell bindings, and add additional profile properties.