Rename self -> this, use bind for event handlers. Changed prototype setup to something a little cleaner