added events and events observers in view
make view tak single responsibility
using the new $ function