Arrowhead 20140930 rc

Separate chunks of functionality into separate methods. Renamed and rewrote methods based on peer feedback.
Not nuts about this. It goes from returning true to raising an error? I think the error should be raised in response to a false return value at the call site, if at all.