I would consider Corona pattern. Requirement to use multi map complicates the task considerably, but doesn't make it impossible.