I think the first approach is good enough, and it can definitely wait for the next pull request.