Updated Statement & Expression, use abstract class insteadof interface.