Region.triggerMethod('before:remove')

Updated version of #1087 with the results of those comments and @jasonLaster's tests changes.