Extracted Machine into it's own class.