Removed IntegerAsSeat mixin and replaced it with a cleaner Seat class implementation.