No-Ticket: removed use of Segment in Expression, is now String-only. Alignment now backed by a model and does consistency checks. Also fixed some encapsulation in equals() calls.