Allow specifying an inverse name for referring to the parent model
Don't specify listener as attribute, is overwrote by inheritance
Don't use deprecated api_key
Re-factoring, usage remains the same