The main change of this commit is data en decode module.
In the old one,is NOT object-oriented,more than one task can not
work simultaneously.
I have package the data as an object,every task operator their
data object.