extract deploy mechanism into a plugin