Move peripheral registration to separate class