1.state should be stored in the compnent where this state is used
2.base on existing knowledge, child components are not able to communicate with each other
3.pubsub can solve problem above
4.move the state back to component where it is suppose to be
5.list component subscribe the state change
6.search component publish the change of state(update state of List component)
7.clear subscription