use AbstractAssociation typehint isntead of Association