Refactored everything more logically.
Refactored signals.