Add basic signal.
Weakify with clunky syntax.
Add macros for strongify/weakify for elegance.