Added LGPL license comments to source files.
Re-factored to use delegate pattern in preparation to support additional checks.
Updated readme.md