Most of the methods share the same basic structure... It should be pretty easy to make less code duplication.