I think:
- setBp always return strong reference (remove break point on destroy returned object)
- getBp always return weak reference