Why not have this as a simple property `@ended` and get rid of isEnded?