Replace observers with callbacks

Hey guys, finally I found time to do it. What do you think about it?
BTW I like that you asked guys :) It's cool when people pay attention to every little bit of the code.