Completion: avoid two fields in the private struct

Instead of keeping these fields in the private struct, it's simpler to
bind properties or connect to a signal.