Free resources when the overlay is destroyed.
Return failure when memory allocation fails instead of returning OK.
Duh..