Refactor expressions, simplifying getter/setter, rename DvdAbstractExpression to Interpretable to make it more clear that is enforces an Interpret() contract