This is probably best implemented at OS level (see Spaced Everything).