Clean up.
Removed MessageQueue.

1. I found it possible to implement the functions without MessageQueue.
And now bugs associated with MessageQueue are gone.

2. It is still one step per magnet trigger. I am working to change this
operation method. It will be better if the user can use magnet trigger
for starting and stopping its movement.

Zhongzhi (Mark)