Machine#run added. Implementation use List because IO is defficult to TDD.