Introduced ordered dictionary; tried to remove duplication using super().  Realted changes elsewhere.