This needs to be thought over carefully.

See comments for concerns.