Moved property and constructor away to abstract class
Moved more stuff away to abstract class