Moved from subclassing to registry architecture for building consumers