for smaller, temporary interactions, custom states are typically the better choice, but for sharable, persistent states, its more appropriate to use URL parameters