Oh and also another reason.  This assumes Deploy#execute would always get called from the client.  Only in that case it is guaranteed that migrate would get passed.   And if it did not {migrate => [""]} would get sent to opsworks.  That just does not look good to me as it makes certain assumptions that could change in the future (if it even works at all now)  I would rather not pass anything and let aws default