on_cast awesome cast_self
