is the block context ever executed without the block instance? i mean, can't it call something on the block instance to know the options that are available?

are you saying we need a specific context for each block class that has additional settings? could we inject the allowed settings into the context through DI somehow?