Also rework the way Map component is handled to make it cleaner and more efficient. Fix for issue #23.