What do you mean when you say it's existing optional block? Also where would you suggest the switch lives? Are you thinking that it would be the case of a specific class knowing about a specific switch since this is quite specific..?