check that methods exist before calling them

it's possible that some things aren't configured in exceptional states

closes #22