A little more refactoring on the licensing classes to extract plugin specific code (helps with #49)