Separate out Stages and start on subclasses
Get tests working again