implemented register, unregister, list, and onChange methods for the building agent