Simplified onMapChange, added ability to tie into map change with callback