my first reaction was "you cannot do that, can you?" i am familiar with doing this with pointers, but i dont thing i have ever seen it done with a reference before. still it compiles, and makes sense when you think about it.
remove the const and Move Implementation to Source File becomes available.