Shift non-essential methods into functions.

Re: #12, this narrows the interface a bit, moving methods that only call other methods (as opposed to accessing the internal map datastructure) into standalone functions.

I'm less confident about this one, now having done it, but let's discuss.