Use oop approach for signals