Added a generic implementation of InputCache called TimePool, might not keep, requires unclean reflection.