Protocol for avoiding pointers

@alto777 @gcjr @build_1971 @noiasca

Thanks a lot for the comments on my code. A lot of things you are talking about I didn't know existed! I'll update my project using new information.