Broke out NDFA into a subclass of Machine