better naming for command
better naming
extract interface for external note factories
fix bean name