Proposed API fix

This fixes my problems from #44 but it might not be inline with your overall philosophy.