Basic prototype constructor pattern