The drama list should be implemented as a list of <: AbstractDrama objects, not a list of functions.
Then we have two methods that should be implemented for all AbstractDrama subtypes:
struct MyDramaType <: AbstractDrama
...
end
check_drama(source::MyDramaType, context::DramaContext) = # not sure what it should return
should_check_drama(source::MyDramaType, context::DramaContext) = true / false # depending on whether the check_drama function should run. This can be used to skip tests
The drama list should be implemented as a list of
<: AbstractDramaobjects, not a list of functions.Then we have two methods that should be implemented for all AbstractDrama subtypes: