Address several points raised by @mhvk
Revise APE to include abstract base class
Merge pull request #6 from mwcraig/mhvk-comments

Address several points raised by @mhvk