GitHub Issue #16: Fixed ClassCastException that can occur when two Factory 'create' methods return objects that are super/sub-classes of each other (TemplateAssetAccess and AssetAccessTemplate).