My thinking with using a keyword was we could add an arbitrary number of positions in later ("final", etc) if needed.  I hadn't thought about the plugin needing to run in multiple positions thus far though.

Although, if we're talking about stuff we load from external gems, the external gem could simply contain two plugins, one tagged pre and one tagged post.

Another option would be to let a plugin define as many run order tags as it wants (in an array), and then somehow pass the stage of the runner to the to plugin's `run` method.  Then, they could handle inside their run statement with conditional statements.