Add new real time result listener

1. better performance
2. fixed null exception bug when adding models