Add comments and use interface inheritance in Statement