handler registration via annotation