WIP: refactoring to remove strong reference (see #30)
- Fixed some test cases
- Fixed equality checks