#5 expanded timer and added a HasSpatial interface