Initial import (from bletchley/framestore package)