Hmm... I don't really understand the need for two separate code paths here. Shouldn't it just be self.pos(time) return posBuf.atTime(time)?