Add support for virtual maps

Didn't add spec tests since there barely are any.
I'll open another issue to add spec tests to this module.