I think I can work on that. I will rewrite them. 
Events won't be a big issue. We can listen to them with this.on. 
I will do the changes.