#3 Changed static methods to instance methods for registering triggers and callbacks