Next time, make sure you cover all this stuff before you begin the project and have the exact licensing terms written into the contract.
Many developers will wish to retain some rights to aspects of the code they create, just so they can re-use elements in future projects, such as code functions and classes etc. Perhaps he's already created a content management system that he uses in all his projects - he's certainly not going to want to sign that over to you.
But beyond that, you need to make it clear that this is a 'work for hire' situation first and foremost, so you retain complete ownership rights to the 'entire application', and you control what, if any rights, the developer may be allowed to retain.
Without that agreement in place, it makes things tricky when a developer starts making demands of ownership - it's ultimately up to a court to decide one way or the other, as in many cases, the spirit of the agreement is clearly 'work for hire'.
I suggest you sit down and talk to the developer to ensure you understand what it is he actually wants and why he wants it. Go back and check what is it you were actually paying him the original $8k for.