What are the common pitfalls when implementing decentralized identity solution using DAML? Also how to avoid them?