The notion of a self-organising system as used within this paper, is of a system that optimises and adapts its architectural composition based on evidence accrued from both internal and external influences. In this way, a self-organising system is defined to be a fluid, unbounded set of components that are organised and configured on demand and at runtime in reaction to the current configuration of the system's operating environment. This paper outlines current theory and assumption in component-based self-organisation, discussing the limitations that exist when producing such systems. The paper highlights, through example, how the introduction of type-safety at a network layer aided by Zeroconf and the author's own Neptune language can yield a powerful self-organisational model, concluding with its use within a healthcare agenda system.