Changed Stage to an interface. Added Stages singleton, SPI and default implementation.