Pulling in some of the Spree master features into a gem we can drop at a later date