Bringing in changes from @WebReflection

Closes #109 and addresses conclusions in #110.