Add abstraction around gems
Allow overriding maps