I was suggesting `OpenStackRoleLayout` as a composition of `OpenStackRole` and `Layout` but I've missed that it's also `OpenStackLayout` so to have `OpenStackRoleOpenStackLayout` would be silly :) Anyway having `Staypuft::Layout`, `Staypuft::Role` and `Staypuft::LayoutRole` makes sense to me. It should be name-spaced anyway since this is a plugin.