also should be in JS style, registerRemove etc