Initial implementation of mapper/source redesign.
Further implementation of API and other tweaks