Allow the timer's target to be held weakly

There are only two commits; best read commit-by commit, since commit messages explain what we're doing.