Renamed classes to conform to BT prefix,
replaced unsafe_retained with weak