I'm playing with delegation and noticed one thing, if you delegate method declared in parent class, super is never going to be called, if you override this method then delegate is never going to be called. Is this an expected behavior? I looked at the documentation and looks like there is no info on any of this. Right now it feels like it is very easy to do delegation wrong, I think it should be more explicit.