Introduce hidden options

Developers often use hidden options for internal purposes which they
do not wish to expose to end-users.