Having create() and _destruct() being private is not a good idea. Change them to protected.
create()
_destruct()