matthew thomas: when good interfaces go crufty