I think we should  be able to get rid of the initialize() function altogether. If we call it right after the constructor (from create_plugin()), then there is nothing a plugin can do in initialize that it can't do in the constructor already.