The "except the first one they draw in each of their draw steps" part of the trigger was not properly checked, and cards drawn on your end step was never triggering an opposing Orcish Bowmasters.
`OpponentDrawCardExceptFirstCardDrawStepTriggeredAbility` is a triggered ability that initializes a watcher `CardsDrawnDuringDrawStepWatcher`.
However `OrTriggeredAbility` was not exposing its sub triggers' watchers to the game engine.
I am not sure the global fix to `OrTriggeredAbility` is better than a `triggeredAbility.addWatcher(...)` in OrcishBowmaster.java.
Also, the trigger text was not set at the proper level.
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method
* updated triggered ability rules generation
* renamed method
* fixed a test failure
* some more refactoring
* simplified some instances of ability word usage