Refactor apps / arrays modules to be more generic, compose in vhost app.