Now that I think of it, this should probably all go in initialize(ruin), since it's an abstract class that people will extend. You'll want to call super(ruin). This is a sacrifice that CoreDev makes so that GameDev won't have to ^_^