Resolve memory leaks

Remove use of HVs for internal data passing (for _destination_point()) - for
simplicity and also memory leak issues.
Clean up reference counting to avoid leaking memory in new().