I prefer approach #1 since it is the simplest to implement, and no need for a more complicated approach has been demonstrated.